18. Dezember 2006

GROUP BY gleich ORDER BY ... oder doch nicht ...

Ein GROUP BY sortiert immer auch ... so denkt man landläufig und so war das auch (zumindest bis Oracle10gR1 (10.1)). Ab 10gR2 ist das nicht mehr so ... lasst mal in einer 10gR2-Datenbank dieses SQL hier laufen: create table groupby_test ( gruppe varchar2(10), eintrag number(10) ); insert into groupby_test values ('C', 1); insert into groupby_test values ('C', 3); insert into groupby_test values ('C', 1); insert into groupby_test values ('B', 1); insert into groupby_test values ('B', 1); insert into groupby_test values ('B', 1); insert into groupby_test values ('D', 1); insert into groupby_test values ('A', 1); commit / select * from groupby_test / set echo on -- -- Ohne Order by: unsortiert (trotz GROUP BY) -- select gruppe, sum(eintrag) as summe from groupby_test group by gruppe / -- -- Mit Order by: sortiert -- select gruppe, sum(eintrag) as summe from groupby_test group by gruppe order by gruppe / set echo off drop table groupby_test / wenn Ihr das Ergebnis also sortiert haben wollt, immer auch ORDER BY angeben ...

Keine Kommentare:

Beliebte Postings