Das Zählen von Datensätzen nach einem Gruppierungsvorgang ist auch nützlich, wenn SQL-GROUP BY
-Abfragen mit der SELECT
-Klausel verwendet werden. Auf diese Weise können Sie ganz einfach aggregierte Statistiken für jede Gruppierung erhalten.
Um gruppierte Datensätze zu zählen, fügen Sie einfach die Aggregatfunktion SELECT
zusammen mit der Spalte, nach der Sie gruppieren möchten, in die COUNT()
-Anweisung ein. Wenn Sie beispielsweise eine Tabelle mit dem Namen „Benutzer“ haben und verschiedene Städte auswählen und die Gesamtzahl der Benutzer in jeder Stadt zählen möchten:
<code class="language-sql">SELECT `town`, COUNT(*) AS `num_users` FROM `user` GROUP BY `town`;</code>
Diese Abfrage gibt einen Ergebnissatz mit einer Spalte für jede Stadt und einer Spalte für die Gesamtzahl der Benutzer in dieser Stadt zurück.
Wenn Sie auch eine Spalte anzeigen möchten, die die Gesamtzahl der Benutzer für alle Zeilen enthält, können Sie diesen Wert mithilfe einer Unterabfrage berechnen und mit dem gruppierten Ergebnissatz verbinden. Alternativ können Sie eine datenbankspezifische Variable verwenden, um die Gesamtzahl zu speichern und dann in der Hauptabfrage darauf zu verweisen.
In MySQL können Sie beispielsweise die folgende Abfrage verwenden, um die Spalte „Gesamtanzahl“ einzubeziehen:
<code class="language-sql">SELECT `town`, COUNT(*) AS `num_users`, (SELECT COUNT(*) FROM `user`) AS `total_users` FROM `user` GROUP BY `town`;</code>
Sie können die Gruppenebene und die Gesamtzahl in SQL-Abfragen einfach ermitteln, indem Sie Aggregatfunktionen und Unterabfragen verwenden.
Das obige ist der detaillierte Inhalt vonWie zähle ich Datensätze nach der Gruppierung in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!