Ostatnia aktualizacja 26 lutego 2020 r. 08:07:42 (UTC / GMT +8 godzin)
Funkcja
COUNT ()
Funkcja SQL COUNT () zwraca liczbę wierszy w tabeli spełniających kryteria określone w klauzuli WHERE. Ustawia liczbę wierszy lub wartości kolumn inne niż NULL.
COUNT () zwraca 0, jeśli nie ma pasujących wierszy.
Składnia:
COUNT(*)COUNT( expression )
Powyższa składnia to ogólna standardowa składnia SQL 2003 ANSI. Pomaga to zrozumieć, w jaki sposób używana jest funkcja SQL COUNT (). Jednak różni dostawcy baz danych mogą mieć różne sposoby stosowania funkcji COUNT ().
Poniżej możesz zobaczyć, że MySQL, PostgreSQL i Microsoft SQL Server mają taką samą składnię jak podana powyżej. Ale DB2 i Oracle nieco się różnią.
Ogólnie, możesz użyć * lub ALL lub DISTINCT albo jakiegoś wyrażenia wraz z COUNT, aby ZLICZAĆ liczbę wierszy w.r.t. jakiś warunek lub wszystkie wiersze, w zależności od argumentów, których używasz wraz z funkcją COUNT ().
Obsługa DBMS: funkcja COUNT ()
DBMS | Polecenie |
MySQL | Obsługiwane |
PostgreSQL | Obsługiwane |
SQL Server | Obsługiwane |
Oracle | Obsługiwane |
Składnia DB2 i Oracle:
COUNT ({*| expression}) OVER (window_clause)
Parametry:
Nazwa | Opis |
---|---|
ALL | Dotyczy wszystkich wartości. ALL zwraca liczbę wartości innych niż NULL. |
DISTINCT | Ignorowane zduplikowane wartości, a COUNT zwraca liczbę unikalnych wartości innych niż NULL. |
wyrażenie | Wyrażenie składające się z pojedynczej stałej, zmiennej, funkcji skalarnej lub nazwy kolumny i może być również fragmentami zapytania SQL, które porównują wartości z innymi wartościami. Wyrażenie dowolnego typu z wyjątkiem tekstu lub obrazu. Funkcje agregujące i podzapytania są niedozwolone. |
* | Liczy wszystkie wiersze w tabeli docelowej, niezależnie od tego, czy zawierają wartości NULL. |
Diagram składni – funkcja COUNT ()
Na kolejnych stronach omówiliśmy, jak stosować COUNT () z różnymi klauzulami SQL. W przypadku tych aplikacji używaliśmy Oracle 10g Express Edition.
Ważna rzecz dotycząca funkcji COUNT ():
Gdy * jest używany dla COUNT (), wszystkie rekordy (wiersze) są zliczane, jeśli część zawartości ma wartość NULL, ale COUNT (nazwa_kolumny) nie liczy rekordu, jeśli jego pole ma wartość NULL. Zobacz następujące przykłady:
SQL COUNT wiersze w tabeli
W poniższym przykładzie zastosowano gwiazdkę (*), po której następuje SQL COUNT (), który wskazuje wszystkie wiersze tabeli, nawet jeśli istnieje jakakolwiek wartość NULL.
Przykładowa tabela: zamówienia
Aby uzyskać liczbę wierszy w tabeli „zamówienia” , można użyć następującej instrukcji SQL:
Kod SQL:
Dane wyjściowe:
COUNT(*)--------- 34
Prezentacja graficzna:
Wybierz COUNT (*) z wielu tabel
Poniższe zapytanie COUNT liczba wierszy z dwóch różnych tabel (tutaj używamy pracowników i działów) za pomocą polecenia COUNT (*).
Kod SQL:
Dane wyjściowe:
TOTAL_EMPLOYEES NO_OF_DEPARTMENTS--------------- ----------------- 107 27
SQL COUNT () z nazwą kolumny
W tym przykładzie funkcja SQL COUNT () wyklucza wartości NULL dla konkretna kolumna, jeśli określono ją jako argument w nawiasie funkcji COUNT cji.
Przykładowa tabela: listofitem
Aby uzyskać liczbę wierszy w tabeli „listofitem” z następującym warunkiem –
1. LICZBA wierszy w kolumnie „coname”
można użyć następującej instrukcji SQL:
Kod SQL:
Wynik:
COUNT(CONAME)------------- 2
Wyjaśnij:
Powyższa instrukcja zlicza te wiersze kolumny „coname”, które nie mają wartości NULL .
Wiersze SQL COUNT z nagłówkiem kolumny zdefiniowanym przez użytkownika
Aby uzyskać liczbę wierszy w tabeli „zamówienia” z następującym warunkiem –
1. wynik musi być wyświetlany z nagłówkiem „Liczba wierszy”,
można użyć następującej instrukcji SQL:
Kod SQL:
Dane wyjściowe:
Number of Rows-------------- 36
SQL COUNT () z klauzulą Where
Klauzula WHERE może być używana razem z Funkcja SQL COUNT () w celu wybrania określonych rekordów z tabeli dla danego warunku.
Przykład:
Przykładowa tabela: zamówienia
Aby uzyskać liczbę wierszy w tabeli „zamówienia” z następującym warunkiem –
1.ord_amount w stosunku do zamówienia to więcej niż 1500,
można użyć następującej instrukcji SQL:
Dane wyjściowe:
Number of Rows-------------- 22
Zastosowanie funkcji COUNT ()
Na kolejnych stronach omówiliśmy, jak zastosować COUNT () z różnymi klauzulami SQL. W przypadku tych aplikacji użyliśmy Oracle 10g Express Edition.
Strona COUNT z DISTINCT omawia zastosowanie funkcji COUNT z DISTINCT, a także omawia sposób zastosowania funkcji COUNT z klauzulą ALL. W przeciwieństwie do *, gdy używane jest ALL, wartości NULL nie są wybierane.
Strona COUNT HAVING omawia, jak zastosować funkcję COUNT z klauzulą HAVING oraz HAVING i GROUP BY.
COUNT z GROUP Strona BY omawia, jak zastosować funkcję COUNT wGROUP BY w porządku rosnącym i malejącym.
Uwaga: Wyniki pokazanej tutaj instrukcji SQL są pobierane przy użyciu Oracle Database 10g Express Edition
Oto prezentacja slajdów ze wszystkimi funkcjami agregującymi.
Ćwiczenia SQL
- Ćwiczenia SQL, praktyka, rozwiązanie
- SQL Pobieranie danych z tabel
- Operatory logiczne i relacyjne w języku SQL
- Operatory wieloznaczne i specjalne w języku SQL
- Funkcje agregujące SQL
- Wyjście zapytania formatującego SQL
- Zapytania SQL w wielu tabelach
- FILTROWANIE i SORTOWANIE w bazie danych HR
- SQL JOINS
- SQL JOINS
- SQL JOINS on Baza danych HR
- SUBQUERIES SQL
- SQL SUBQUERIES
- SQL SU ZAPYTANIA w bazie danych HR
- SQL Union
- Widok SQL
- Zarządzanie kontami użytkowników SQL
- Baza danych filmów
- PODSTAWOWE zapytania w bazie danych filmów
- SUBQUERIES w bazie danych filmów
- DOŁĄCZENIA w bazie danych filmów
- Baza danych piłkarskich
- Wprowadzenie
- PODSTAWOWE zapytania w piłkarskiej bazie danych
- SUBQUERIES w piłkarskiej bazie danych
- DOŁĄCZ zapytania w piłkarskiej bazie danych
- Baza danych szpitala
- Wprowadzenie
- PODSTAWOWE, SUBQUERIES i DOŁĄCZE
- Baza danych pracowników
- PODSTAWOWE zapytania w bazie danych pracowników
- ZAPYTANIA w bazie danych pracowników
- Więcej w przyszłości!