Tôi hoang mang bởi một truy vấn trong Oracle đang trở lại theo thứ tự dường như ngẫu nhiên.Tại sao Oracle trả về chuỗi cụ thể nếu các giá trị 'orderby' giống hệt nhau?
SELECT
Date,
Amount
FROM MyTable
WHERE Date = '26-OCT-2010'
ORDER BY Date
này trả về dữ liệu sau:
| Date | Amount
--------------------------
1 | 26-OCT-10 | 85
2 | 26-OCT-10 | 9
3 | 26-OCT-10 | 100
Tôi không thể hiểu được lý do tại sao cơ sở dữ liệu trả về dữ liệu theo thứ tự cụ thể này, hoặc tại sao, kể từ khi bảng gốc sẽ trả lại dữ liệu theo cách này.
Đúc Date
để TIMESTAMP
khẳng định rằng tất cả các Date
giá trị là cùng một giá trị - 26-OCT-10 00.00.00.000000000
, do đó, tôi có thể loại trừ rằng có một sự khác biệt trong các giá trị. Tuy nhiên, khi tôi thực hiện việc này, các hàng sẽ trả về theo thứ tự 1, 3, 2.
Điều này khiến tôi phát điên lên vì vậy sẽ giúp ích cho tôi nếu ai đó có thể giải thích lý do tại sao điều này xảy ra. Tôi có thể mong đợi điều này trở lại theo thứ tự khác nhau mỗi khi truy vấn được chạy, cho rằng thứ tự có điều kiện là giống hệt nhau trên mỗi hàng (do đó để lại thứ tự đến cơ hội thuần túy).
Rất cám ơn trước.
Cảm ơn bạn đã giải thích! Tôi nghĩ rằng nó chỉ có thể 'hoàn nguyên' theo thứ tự gặp phải, như SQL Server, nhưng không chắc lắm. Cảm ơn một lần nữa! –