Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit COUNT() Zeilen zählen, die bestimmte Bedingungen in SQL erfüllen?
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>
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>
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!