Jak používat funkci Postgres Count Select

Ú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 COUNTpří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.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.