sql >> Databasteknik >  >> RDS >> Oracle

Varför returnerar Oracle en specifik sekvens om "orderby"-värdena är identiska?

Beställningen beror inte på "ren slump" - såvida du inte ändrar frågan till:

SELECT
  Date,
  Amount
FROM MyTable
WHERE Date = '26-OCT-2010'
ORDER BY Date, DBMS_RANDOM.VALUE;

Beställningen är "godtycklig". Istället för att "kasta tärningar" för att avgöra den godtyckliga ordningen (vilket skulle medföra en del onödiga kostnader), returnerar Oracle bara data i den ordning som den stötte på den - vilket sannolikt kommer att vara detsamma från körning till körning på kort sikt. (På lång sikt kan något förändras i miljön för att göra ordningen annorlunda - men fortfarande godtycklig).



  1. Hibernate:Flera urvalsfrågor gjorda av Hibernate för Fetch-läge Ivrig

  2. Hur aliaser jag en databas i MySQL?

  3. Vad är SQL Server? (Definition, versioner, upplagor)

  4. Hur man analyserar xml med valfria element