Úvod
V PostgreSQL funkce COUNT()
vrací počet řádků v zadané tabulce a příkaz SELECT
vrací záznamy, které odpovídají zadaným podmínkám dotazu. Při společném použití této funkce a příkazu můžete své dotazy v PostgreSQL posunout na vyšší úroveň a vrátit počet záznamů, které splňují kritéria zadaná v dotazu. V tomto článku si ukážeme, jak používat Postgres COUNT a SELECT v tandemu, abychom zjistili, kolik záznamů je vráceno z daného dotazu.
Předpoklady
Předtím, než budete pokračovat v tomto návodu, ujistěte se, že je na vašem počítači nainstalována PostgreSQL. Budete ji totiž potřebovat k provádění SELECT COUNT
příkazů v databázi. Budete také potřebovat určité úvodní znalosti o PostgreSQL, abyste mohli postupovat podle příkladů uvedených v tomto článku.
PostgreSQL COUNT SELECT
Při použití funkce COUNT()
ve spojení s příkazem SELECT
se používá následující syntaxe:
1
|
SELECT COUNT ( , ) FROM TABLE_NAME;
|
Podívejme se na výše uvedenou syntaxi trochu hlouběji:
-
SELECT
– Slouží k výběru určitých sloupců z databáze. -
COUNT
– Používá se pro spočítání počtu záznamů v této tabulce. -
DISTINCT
– Tato klauzule slouží k odstranění duplicit z vrácených záznamů. -
Asterisk (*)
– Použití hvězdičky je ekvivalentní výběru všech sloupců v tabulce. -
column_name
– Představuje název sloupce, pro který chcete spočítat záznamy. -
table_name
– Představuje název tabulky, pro kterou chcete spočítat záznamy.
Příklady počítacích funkcí PostgreSQL
V našich příkladech budeme používat tabulku s názvem countries
:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
country_id | country_name | continent | code
————+————————–+—————+—— 35 | Jižní Afrika | Afrika | AF 14 | Kanada | Severní Amerika | NA 51 | Kuba | Severní Amerika | NA 41 | Mexiko | Severní Amerika | NA 45 | Spojené státy americké | Severní Amerika | NA 85 | Argentina | Jižní Amerika | SA 37 | Venezuela | Jižní Amerika | SA 63 | Filipíny | Asie | AS 83 | Čína | Asie | AS 22 | Rusko | Asie | AS 21 | Spojené arabské emiráty | Asie | AS 62 | Německo | Evropa | EU 73 | Itálie | Evropa | EU 28 | Velká Británie | Evropa | EU |
SELECT COUNT all example
Pro náš první příklad, spočítáme počet řádků v tabulce:
1
|
SELECT COUNT(*) AS number_of_rows FROM countries;
|
Výsledek tohoto dotazu bude vypadat takto:
1
2 3 |
number_of_rows
—————- 14 |
Všimněte si, že jsme použili alias pomocí klauzule AS
, která určuje nový název sloupce.
Výsledek obsahuje pouze jeden sloupec, protože jediným vraceným údajem je počet řádků v tabulce.
Příklad sloupceCOUNT
Napříště zkusíme spočítat počet řádků v zadaném sloupci.
1
|
SELECT COUNT(„název_země“) AS počet_řádků FROM země;
|
Výsledek tohoto dotazu můžete vidět níže:
1
2 3 |
number_of_rows
—————- 14 |
Výsledek je stejný jako v prvním příkladu, protože tento dotaz také počítá celkový počet řádků v tabulce.
Příklad sčítání rozdílů
Tentokrát zkusíme složitější příklad. Použijeme klauzuli DISTINCT
a spočítáme počet řádků ve sloupci s názvem „kontinent“:
1
|
SELECT COUNT( DISTINCT continent ) FROM countries;
|
Výsledek tohoto dotazu bude trochu jiný:
1
2 3 |
COUNT
——- 5 |
V tomto dotazu je výsledek pouze pět, protože funkce DISTINCT
odstraní všechny duplicitní hodnoty nalezené v záznamech.
COUNT GROUP BY
Náš další příklad využije klauzuli GROUP BY
. Budeme počítat počet řádků pro každou hodnotu nalezenou ve sloupci s názvem „code“:
1
2 3 |
SELECT code, COUNT(code)
FROM countries GROUP BY code; |
Tady je výsledek našeho dotazu:
1
2 3 4 5 6 7 |
kód | COUNT
——+——- NA | 4 SA | 2 AF | 1 AS | 4 EU | 3 |
Závěr
Při dotazování na tabulku PostgreSQL, někdy potřebujete počet záznamů, které odpovídají určitým podmínkám, více než samotné záznamy. Společné použití funkcí Postgres COUNT a SELECT vám může pomoci získat potřebné výsledky. V tomto článku jsme uvedli několik příkladů, které používají příkaz PostgreSQL SELECT
ve spojení s funkcí COUNT()
. Pokud budete postupovat podle těchto příkladů, budete připraveni vytvářet podobné dotazy pro své vlastní tabulky PostgreSQL.
.