Příkaz Count můžete vidět před použitím příkazu GROUP BY zde. Příkaz GROUP BY vytvoří skupiny v zadaném názvu pole a spočítá početzáznamů ve skupinách. Jedná se o velmi užitečný příkaz.
Můžeme také použít příkaz WHERE spolu s příkazem GROUP BY v tabulkách Mysql.
SELECT count(*) as total_records, class FROM `student` group by class
Tento příkaz zobrazí celkový počet záznamů v každé třídě. Takto
celkem_záznamů | třída |
1 | Osm |
3 | pět |
9 | čtyři |
2 | devět |
10 | Sedm |
7 | Šest |
3 | Tři |
Pokusíme se získat celkový počet záznamů dívek v každé třídě pomocí dotazu GROUP BY. Zde chceme vyfiltrovat náš dotaz pouze pro dívky, takže musíme použít jednu klauzuli WHERE pro omezení záznamů pomocí pole pohlaví. Zde je dotaz.
SELECT class,count( * ) AS total_records FROM `student` WHERE sex='female' GROUP BY class
Výstup je zde
třída | celkem_záznamů |
čtyři | 5 |
devět | 1 |
sedm | 5 |
Šest | 5 |
Tři | 1 |
Duplicitní záznamy
Duplicitní záznamy v tabulce zjistíme pomocí příkazu group by. Vytvoříme další tabulku student2_1 pomocí stejných dat a přidáním několika duplicitních záznamů. Zde je dotaz
SELECT name, COUNT(id) AS no from student2_1 group by name having no > 1
Výstup je zde .
jméno | číslo |
---|---|
Arnold | 2 |
Tade Row | 3 |
Výpis SQL této tabulky stduent2_1 s přidanými duplicitními daty si můžete stáhnout na konci této stránky.
Jak odstranit duplicitní záznamy
Pomocí seskupení podle na datovém poli můžeme vygenerovat seznam na kalendářní rok, finanční rok, měsíc po měsíci
Ukázkový kód
Zde je ukázkový kód pro pochopení použití dotazu seskupení podle pomocí skriptu PHP a PDO.
DÍL II: Pokusíme se použít příkaz group by na více než jedno pole. Za tímto účelem vytvoříme novou tabulku a podrobně ji probereme. Další část II
Načteme SQL DUMP této tabulky studentů
Načteme SQL DUMP tabulky stduent2_1
.