Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage zum Abrufen der Anzahl nach Gruppe und der Gesamtzahl

Der optimierte Weg besteht darin, zuerst die Anzahl zu berechnen und dann einfach die Variable in Ihre Select-Anweisung einzufügen:

set @rowCount = (select count(col1) from table1);
select col1, count(col1), @rowCount from table1 group by col1;

Siehe das Ergebnis

Der von @Meherzad gegebene Ansatz berechnet die Zeilenanzahl viele Male. Aber wenn Sie dies in einer einzigen Abfrage tun möchten, können Sie Folgendes verwenden:

select col1, count(col1), (select count(col1) from table1) rowCount from table1 group by col1;