Ésszerűsítése aggregáció csoportok

ORDER BY ezenkívül használható GROUP BY, hogy a rendelés-csoport. Ha igen, akkor az ORDER BY mindig jön utoljára. Ez - egy példa az utolsó fejezet foglalkozik azzal a kiegészítéssel, ORDER BY. Mielőtt csoportosítás megjelenítési sorrendje a csoportok önkényes, és most kényszeríteni a csoport helyezzük a következő sorrendben:

SELECT SNUM, Odate, MAX (AMT) megrendelésekből GROUP BY SNUM, Odate ORDER BY SNUM;

Kimenet ábrán látható 7.6.

Mivel nem mutatnak növekedését vagy csökkenését a rend, a növekedés az alapértelmezett.

Rendelésének visszavonására az oszlop száma

Ahelyett, hogy a nevét oszlopok akkor használja őket, hogy adja meg a sorszámot használt mező rendezett visszavonását. Ezek a szobák nem hivatkozhat az oszlopok sorrendjének a táblázatban, és azok sorrendjét a kimenetet. Más szóval, az említett területen az első SELECT, az ORDER BY - ez a mező 1, nem számít, mibe kerül, hogy a táblázatban. Például, akkor használja a következő parancsot, hogy megjelenjen bizonyos területeken Sellers asztal, rendezett csökkenő sorrendben a legkisebb jutalék (a kimeneti ábra 7.7):

SELECT SNAME, comm FROM értékesítők GROUP BY 2 DESC;

=============== SQL Execution Log ============ | (SELECT SNAME, comm | | FROM értékesítők | | ORDER BY 2 DESC; | | ================================ ============= | | SNAME Comm | | -------- -------- | | Peel 0,17 | | Serres 0,13 | | Rifkin 0,15 | == ============================================= ábra 7.7: rendezése használatával szám

Az egyik fő célja ennek a funkciónak, ORDER BY - megadja a képességet, hogy használja a GROUP BY oszlopok megjelenítésére, valamint a táblázat oszlopai. Oszlopok készített összesítő függvényt, állandó vagy kifejezést a SELECT utasításban a lekérdezés, ez teljesen alkalmas a GROUP BY, ha azok hivatkoznak rájuk segítségével számokat. Például, számoljunk rendelések minden a mi gyártók, és megjeleníti az eredményeket csökkenő sorrendben, ahogy az ábra 7.8:

SELECT SNUM, COUNT (DISTINCT onum) megrendelésekből GROUP BY SNUM ORDER BY 2 DESC;

=============== SQL Execution Log ============== | SELECT SNUM, Odate, MAX (AMT) | | Megrendelésekből | | GROUP BY SNUM | | ORDER BY 2 DESC; | | =============================================== | | SNUM | | ----- ---------- | | 1001 3 | | 1002 3 | | 1007 2 | | 1003 1 | | 1004 1 | ábra ================================================= 7.8.Uporyadochenie kimeneten keresztül oszlopot.

Ebben az esetben érdemes használni az oszlop számát, mivel a kimeneti oszlop nincs neve; és akkor nem kell összesítő függvényt használjuk is. Szigorúan véve, az ANSI SQL szabályok, a következő nem fog működni, bár egyes rendszerek és figyelmen kívül hagyja ezt a követelményt:

SELECT SNUM, COUNT (DISTINCT onum) megrendelésekből GROUP BY SNUM GROUP BY COUNT (DISTINCT onum) DESC;

Ez fogja utasítani a legtöbb rendszer!