Oracle'da sorgu gibi rastgele bir sırayla dönen bir sorgu tarafından şaşkın.Oracle, 'orderby' değerleri aynıysa neden belirli bir sıralama döndürüyor?
SELECT
Date,
Amount
FROM MyTable
WHERE Date = '26-OCT-2010'
ORDER BY Date
Bu aşağıdaki verileri döndürür:
| Date | Amount
--------------------------
1 | 26-OCT-10 | 85
2 | 26-OCT-10 | 9
3 | 26-OCT-10 | 100
veritabanı bu belirli bir düzen içinde veri döndürür veya neden anlayamaz neden orijinal tablo bu şekilde veri döneceğini beri. Dolayısıyla, ben değerlerde bir fark olduğunu ekarte edebilir, 26-OCT-10 00.00.00.000000000
- TIMESTAMP
için Date
Döküm
tüm Date
değerleri aynı değeri olduğunu doğrulamaktadır. Ancak, bunu yaptığımda, satırlar 1, 3, 2 sırasına göre döner.
Bu beni kızdırıyor, bu yüzden birileri bunun neden olduğu konusunda bir açıklama yapabilirse beni rahatlatmaya yardımcı olur.
bu koşullu emir (böylece saf şansa sipariş bırakarak) her satırda aynı olduğu göz önüne alındığında, farklı bir sırada sorgu her çalıştırıldığında dönmek için beklenebilir.
Şimdiden çok teşekkürler. Oracle bir stable sıralama yapmak için sıralama algoritması kullanır gibi
Açıklama için teşekkür ederiz! SQL Server gibi karşılaşılan sıraya yalnızca 'geri dönebileceğini' düşündüm ama emin değildim. Tekrar teşekkürler! –