SQL GROUP BY parancs

, Author

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

Ezt a cikket a plus2net.com csapat írta.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.