Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit COUNT() Zeilen zählen, die bestimmte Bedingungen in SQL erfüllen?

Wie kann ich mit COUNT() Zeilen zählen, die bestimmte Bedingungen in SQL erfüllen?

Linda Hamilton
Freigeben: 2025-01-11 10:02:43
Original
204 Leute haben es durchsucht

How Can I Count Rows Meeting Specific Conditions in SQL Using COUNT()?

Verwenden Sie die SQL COUNT()-Funktion, um die Anzahl der Zeilen zu zählen, die bestimmte Bedingungen erfüllen

Die Aggregatfunktion COUNT() in SQL zählt normalerweise alle Nicht-Null-Werte in einer Spalte. Was aber, wenn Sie nur die Anzahl der Zeilen zählen möchten, die bestimmte Kriterien erfüllen? Zählen Sie beispielsweise nur die Anzahl der Mitarbeiter mit dem Titel „Manager“ in der Jobspalte.

Obwohl die WHERE-Klausel eine einfache Möglichkeit zum Filtern von Zeilen bietet, reicht sie möglicherweise nicht aus, wenn Sie sowohl Manager als auch andere Mitarbeiter zählen müssen. Zu diesem Zeitpunkt ist der bedingte Ausdruck in der Aggregatfunktion COUNT() nützlich.

Verwenden Sie bedingte Ausdrücke in COUNT()

Sie können die Funktion von COUNT() nutzen, um nur Nicht-Null-Werte zu zählen, anstatt die WHERE-Klausel zu verwenden. Mithilfe von Bedingungsausdrücken können Sie eine Case-Anweisung erstellen, die die Spalte „Position“ auswertet und basierend auf einer Bedingung einen bestimmten Wert zuweist.

Beispiel 1: Verwendung von Case und Count()

<code class="language-sql">select count(case Position when 'Manager' then 1 else null end)
from ...</code>
Nach dem Login kopieren

In dieser Abfrage wertet die Case-Anweisung aus, ob die Positionsspalte gleich „Manager“ ist. Wenn „true“, ist der zugewiesene Wert 1; andernfalls ist der zugewiesene Wert null. Die Aggregatfunktion COUNT() summiert dann alle Nicht-Null-Werte im Case-Ausdruck, um die Anzahl der Managerzeilen zu erhalten.

Beispiel 2: Verwendung von Case und Sum()

Alternativ können Sie die Aggregatfunktion Sum() und ähnliche bedingte Ausdrücke verwenden:

<code class="language-sql">select sum(case Position when 'Manager' then 1 else 0 end)
from ...</code>
Nach dem Login kopieren

Diese Methode kann auch die Anzahl der Managerzeilen ermitteln, da die Aggregatfunktion Sum() die im Case-Ausdruck angegebenen Werte summiert und effektiv Nicht-Null-Werte zählt (d. h. Zeilen mit Position gleich „Manager“). .

Das obige ist der detaillierte Inhalt vonWie kann ich mit COUNT() Zeilen zählen, die bestimmte Bedingungen in SQL erfüllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage