Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Die Verwendung von „distinct“ für eine Spalte und „order by“ für eine andere Spalte führt zu einem Fehler

Soweit ich Ihre Frage verstanden habe .

Eindeutig :- bedeutet, dass Sie einen eindeutigen Wert auswählen (alle ausgewählten Werte sollten eindeutig sein). Ordnen nach :- bedeutet einfach, die ausgewählten Zeilen gemäß Ihrer Anforderung zu ordnen .

Das Problem in Ihrer ersten Abfrage ist zum Beispiel:Ich habe eine Tabelle

ID name
01 a
02 b
03 c
04 d 
04 a

nun die Abfrage select distinct(ID) from table order by (name) ist verwirrt, welcher Datensatz für ID - 04 verwendet werden soll (da zwei Werte vorhanden sind, d und a in der Namensspalte). Das Problem für die DB-Engine liegt also hier, wenn Sie order by (Name).........

sagen