Problém:
Chtěli byste určit, kolik řádků má tabulka.
Příklad:
Naše databáze obsahuje tabulku s názvem pet s údaji v následujících sloupcích:id , eID (elektronický identifikátor) a name .
| id | eID | jméno |
|---|---|---|
| 1 | 23456 | sparky |
| 2 | 23457 | mily |
| 3 | NULL | méně |
| 4 | NULL | carl |
| 5 | 34545 | maggy |
Spočítejme všechny řádky v tabulce.
Řešení:
COUNT(*) počítá celkový počet řádků v tabulce:
SELECT COUNT(*) as count_pet FROM pet;
Zde je výsledek:
| count_pet |
|---|
| 5 |
Místo předávání hvězdičky jako argumentu můžete použít název konkrétního sloupce:
SELECT COUNT(id) as count_pet FROM pet;
V tomto případě COUNT(id) počítá počet řádků, ve kterých je id není NULL .
Diskuse:
Použijte COUNT agregační funkce pro sčítání počtu řádků v tabulce. Tato funkce přebírá jako argument název sloupce (např. id ) a vrátí počet řádků pro tento konkrétní sloupec v tabulce (např. 5).
Jak bylo uvedeno výše, když zadáte sloupec místo hvězdičky, funkce bude počítat pouze jiné než NULL hodnoty. Protože id je primární klíč naší tabulky – a proto má jedinečný a neNULL hodnoty – je to dobrý kandidát pro počítání celkového počtu řádků v tabulce.
Samozřejmě, že chcete-li spočítat všechny řádky, můžete místo toho předat znak hvězdičky jako argument COUNT. Tím se započítají všechny řádky, včetně těch s hodnotou NULL v libovolném sloupci.
Zde je příklad počítání počtu řádků pro sloupec, který má NULL hodnoty:
SELECT COUNT(eID) as count_pet FROM pet;
| count_pet |
|---|
| 3 |
Doporučuje se předat funkci COUNT sloupec primárního klíče nebo znak *, aby se spočítal počet řádků v tabulce. Jak jsme viděli, oba přístupy přinesou stejný výsledek.