Kurs
Führe den Code aus diesem Tutorial online aus und bearbeite ihn
Code ausführenWas ist die COUNT()
Funktion?
Die Funktion COUNT()
gibt die Anzahl der Zeilen zurück, die einem Kriterium entsprechen.
COUNT()
syntax
Die grundlegende Syntax von COUNT()
lautet wie folgt.
SELECT COUNT(column_name)
FROM table_name;
Variationen der Syntax erreichen unterschiedliche Ziele.
- Mit der Syntax
COUNT(*)
können wir die Anzahl der Zeilen in einer Tabelle zählen - Mit der Syntax
COUNT(DISTINCT column)
können wir die Anzahl der unterschiedlichen Werte in einer Spalte zählen - Die
COUNT(CASE WHEN condition THEN column END)
Syntax ermöglicht es uns, die Anzahl der Werte zu zählen, die Bedingungen erfüllen.
COUNT()
wird zusammen mit GROUP BY
verwendet und ist nützlich, um die Anzahl der Zeilen zu zählen, die zu jeder Gruppe gehören.
COUNT()
wird zusammen mit HAVING
verwendet und ist nützlich, um Gruppen nach der Anzahl ihrer Zeilen zu filtern.
Wir werden diese mit den folgenden Beispielen veranschaulichen.
COUNT()
Beispiele
Beispiel 1: Zählen der Anzahl der Zeilen mit COUNT(*)
Die Tabelle "Produkte" enthält alle Produkte, die ein Unternehmen verkauft. Die COUNT(*)
Klausel ermöglicht es uns, die Anzahl der Zeilen in der Tabelle zu berechnen.
SELECT
COUNT(*) AS number_of_rows
FROM products
|
321 |
Beispiel 2: Zählen eindeutiger Werte mit COUNT(DISTINCT …)
Die COUNT(DISTINCT column)
Syntax ermöglicht es uns, die Anzahl der eindeutigen Werte in einer Spalte zu zählen.
Zum Beispiel hat jedes Produkt eine zugehörige Marke in der Tabelle products
. Wir können die Anzahl der einzigartigen Produkte und Marken in der Tabelle zählen.
SELECT
COUNT(DISTINCT product_id) AS unique_product_count,
COUNT(DISTINCT brand_id) AS unique_brand_count
FROM products
|
|
321 |
9 |
SQL Upskilling für Einsteiger
Beispiel 3: Zähle Zeilen, die einer Bedingung entsprechen, indem du COUNT()
mit CASE WHEN
Die COUNT(CASE WHEN condition THEN column END)
Syntax ermöglicht es uns, die Anzahl der Zeilen zu berechnen, die einer Bedingung entsprechen.
In der Produkttabelle hat zum Beispiel jedes Produkt eine list_price
. Wir können berechnen, wie viele Produkte "expensive
" sind (mit einem Listenpreis von mehr als 500 $) oder nicht.
SELECT
COUNT(CASE WHEN list_price >= 500 THEN product_id END) AS expensive_product_count,
COUNT(CASE WHEN list_price < 500 THEN product_id END) AS cheap_product_count
FROM products
|
|
213 |
108 |
Beispiel 4: Zeilen in Gruppen zählen mit COUNT()
mit GROUP BY
COUNT()
kann mit GROUP BY
verwendet werden, um die Anzahl der Zeilen in jeder Gruppe zu ermitteln.
Die Produkttabelle enthält zum Beispiel Fahrradmodelle von 2016 bis 2019. Um die Verteilung des Fahrrads herauszufinden, können wir COUNT(product_id)
und GROUP BY model_year
verwenden, um die Anzahl der Produkte aus jedem Jahr zu zählen.
SELECT
model_year,
COUNT(product_id) AS product_count
FROM products
GROUP BY model_year
|
|
2016 |
26 |
2017 |
85 |
2018 |
204 |
2019 |
6 |
Beispiel 5: Filter für Gruppen mit COUNT()
mit GROUP BY
und HAVING
In Beispiel 4 sehen wir, dass COUNT()
mit GROUP BY
verwendet werden kann. Wir können die Anweisung HAVING
verwenden, um nach Gruppen zu filtern, indem wir die Anzahl der Zeilen in dieser Gruppe verwenden.
Um zum Beispiel die Anzahl der Jahre zu ermitteln, die weniger als 50 Produkte haben, können wir folgende Syntax verwenden.
SELECT
model_year
FROM products
GROUP BY model_year
HAVING COUNT(product_id) < 50
|
2016 |
2019 |
Technische Anforderungen
COUNT()
ist eine Funktion, die in allen Versionen von modernem SQL verfügbar ist.