sql >> Database >  >> RDS >> Oracle

Waarom retourneert Oracle een specifieke reeks als 'orderby'-waarden identiek zijn?

De volgorde is niet "puur toeval" - tenzij u de zoekopdracht wijzigt in:

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

De volgorde is "willekeurig". In plaats van "dobbelstenen te gooien" om de willekeurige volgorde te bepalen (wat onnodige kosten met zich mee zou brengen), retourneert Oracle de gegevens gewoon in de volgorde waarin ze zijn aangetroffen - wat waarschijnlijk op korte termijn hetzelfde zal zijn van run tot run. (Op de lange termijn kan er iets in de omgeving veranderen om de volgorde anders te maken, maar nog steeds willekeurig).



  1. Oracle:rijnummer weergeven met 'order by'-clausule

  2. Hoe u correct UTF-8-strings in MySQL schrijft via de JDBC-interface

  3. Fout ORA-00932 bij gebruik van een select met unie- en CLOB-velden

  4. PLAFOND() Voorbeelden in SQL Server