Bedingte Zeilenzählung in COUNT(): Ein prägnanter Ansatz
Oft müssen Sie Zeilen zählen, die bestimmte Kriterien erfüllen. Zählen Sie beispielsweise nur „Manager“-Einträge in einer „Position“-Spalte. Anstatt eine WHERE
-Klausel zu verwenden, können Sie die Bedingung direkt in die COUNT()
-Funktion integrieren.
Die Lösung: CASE-Anweisungen und Aggregatfunktionen
Der Schlüssel besteht darin, sich daran zu erinnern, dass COUNT()
nur Nicht-NULL-Werte zählt. Verwenden Sie daher eine CASE
-Anweisung wie diese:
<code class="language-sql">SELECT COUNT(CASE Position WHEN 'Manager' THEN 1 ELSE NULL END) FROM ...</code>
Alternativ können Sie SUM()
auf ähnliche Weise verwenden:
<code class="language-sql">SELECT SUM(CASE Position WHEN 'Manager' THEN 1 ELSE 0 END) FROM ...</code>
Dieser Ansatz ermöglicht die bedingte Zeilenzählung innerhalb der COUNT()
- oder SUM()
-Funktion, wodurch die Notwendigkeit einer separaten WHERE
-Klausel vermieden wird, was zu einem kompakteren und effizienteren SQL führt.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen basierend auf Bedingungen innerhalb der Funktion COUNT() zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!