A GROUP BY parancs használata előtt itt láthatja a Count parancsot. A GROUP BYparancs csoportokat hoz létre a megadott mezőnévben, és megszámolja a csoportokban lévő rekordok számát. Ez egy nagyon hasznos parancs.
A Mysql táblákban a GROUP BY paranccsal együtt használhatjuk a WHERE parancsot is.
SELECT count(*) as total_records, class FROM `student` group by class
Ez az egyes osztályok összes rekordját fogja megjeleníteni. Például így
| total_records | class |
| 1 | Eight |
| 3 | Öt |
| 9 | Négy |
| 2 | Kilenc |
| 10 | hét |
| 7 | hat |
| 3 | három |
Próbáljuk meg a GROUP BY lekérdezéssel megkapni az egyes osztályokban szereplő lányrekordok teljes számát. Itt csak a lányokra szeretnénk szűrni a lekérdezésünket, ezért egy WHERE záradékot kell használnunk, hogy a rekordokat a nem mező segítségével korlátozzuk. Íme a lekérdezés.
SELECT class,count( * ) AS total_records FROM `student` WHERE sex='female' GROUP BY class
A kimenet itt van
| osztály | total_records |
| négy | 5 |
| kilenc | 1 |
| hét | 5 |
| Six | 5 |
| Three | 1 |
Duplikált rekordok
A duplikált rekordokat a táblázatban a group by parancs segítségével találhatjuk meg. Ugyanezen adatok felhasználásával és néhány duplikált rekord hozzáadásával létrehozunk egy másik student2_1 táblát. Itt van a lekérdezés
SELECT name, COUNT(id) AS no from student2_1 group by name having no > 1
A kimenet itt van .
| név | nem |
|---|---|
| Arnold | 2 |
| Tade Row | 3 |
Az oldal végén letöltheti a stduent2_1 táblázat SQL dumpját a hozzáadott duplikált adatokkal.
Hogyan törölhetjük a duplikált rekordokat
A dátum mezőre való csoportosítással naptári év, pénzügyi év, hónap szerinti listát készíthetünk
Mintakód
Itt egy mintakód, hogy megértsük, hogyan használjuk a csoportos lekérdezést PHP script és PDO segítségével.
PART II: Megpróbáljuk alkalmazni a group by parancsot egynél több mezőre. Ehhez létrehozunk egy új táblázatot, és részletesen megbeszéljük. Következő II. rész
Töltse le ennek a diák táblának az SQL DUMP-ját
Töltse le a stduent2_1 tábla SQL DUMP-ját