sql >> Database teknologi >  >> RDS >> Oracle

Hvorfor returnerer Oracle en bestemt sekvens, hvis 'orderby'-værdier er identiske?

Bestillingen er ikke "ren tilfældighed" - medmindre du ændrer forespørgslen til:

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

Rækkefølgen er "vilkårlig". I stedet for at "kaste terninger" for at bestemme den vilkårlige rækkefølge (hvilket ville medføre nogle unødvendige omkostninger), returnerer Oracle blot dataene i den rækkefølge, de stødte på dem - hvilket sandsynligvis vil være det samme fra kørsel til kørsel på kort sigt. (På lang sigt kan noget ændre sig i miljøet for at gøre rækkefølgen anderledes - men stadig vilkårlig).



  1. NYHEDER:Ny Microsoft SQL Server Native Client 18 udgivet!

  2. Acquire_lock() virker ikke. Bot sender stadig anmodninger hurtigt. PHP + AJAX

  3. Slut dig til JSON-arrayfelt med strengfelt i mysql

  4. DISTINCT ON forespørgsel m/ ORDER BY max værdi af en kolonne