SQL-Abfragen optimieren: Mehrere Zählungen auf einmal erhalten
Dieser Artikel zeigt eine optimierte Methode zum Abrufen mehrerer Zählungen mithilfe einer einzigen SQL-Abfrage. Wir werden die Leistungsfähigkeit der CASE
-Anweisung in Verbindung mit Aggregatfunktionen nutzen.
Die Strategie besteht darin, CASE
zu verwenden, um Zeilen basierend auf der Spalte level
zu kategorisieren und jeder Kategorie eine Anzahl zuzuweisen. Diese Zählungen werden dann mit SUM
aggregiert, um die Endergebnisse bereitzustellen.
Hier ist eine Abfrage, die dies erreicht und die Daten in einer einzelnen Zeile pro distributor_id
zurückgibt:
<code class="language-sql">SELECT distributor_id, COUNT(*) AS total, SUM(CASE WHEN level = 'exec' THEN 1 ELSE 0 END) AS ExecCount, SUM(CASE WHEN level = 'personal' THEN 1 ELSE 0 END) AS PersonalCount FROM yourtable GROUP BY distributor_id;</code>
Dieser Ansatz liefert effizient sowohl die Gesamtzählung als auch die einzelnen Zählungen für bestimmte level
Werte innerhalb eines einzelnen Abfrageergebnisses.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Zählungen aus einer einzelnen SQL-Abfrage erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!