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.