2017-07-12 5 views
1

Ich brauche alle Status in einer Tabelle, um herauszufinden, mit Gruppe von:Kombinieren Gruppe durch und zählen mysql

SELECT status FROM table GROUP BY status 

und dann die Ergebnisse zählen

SELECT count(id) WHERE status = [STATUS] 

gefunden So eine Tabelle wie:

+--------------------+ 
| ID | STATUS | NAME | 
+--------------------+ 
|0001| BOUGHT | JOHN | 
---------------------- 
|0002| BOUGHT | JOHN | 
---------------------- 
|0003| CANCEL | JOHN | 
---------------------- 
|0004| BOUGHT | JOHN | 
---------------------- 
|0005| CANCEL | JOHN | 
--------------------- 
|0006| BOUGHT | JOHN | 
---------------------- 
|0007| BOUGHT | JOHN | 
---------------------- 
|0008| SAVE | JOHN | 
---------------------- 
|0009| SAVE | JOHN | 
---------------------- 
|0010| BOUGHT | JOHN | 
---------------------- 
|0011| SAVE | JOHN | 
---------------------- 

ein Ergebnis ergeben würde:

STATUS | COUNT 
--------------- 
SAVE | 3 
BOUGHT | 6 
CANCEL | 2 

Jede Hilfe wird geschätzt.

+0

'SELECT Status FROM Tabelle GROUP BY status' ist ein teurer Weg, um das gleiche Ergebnis zu erhalten, wie 'SELECT DISTINCT Status FROM Tabelle'. – axiac

Antwort

0

Verwenden Sie die folgende Abfrage:

SELECT status, count(id) as CNT FROM table GROUP BY status 
0

Gerade Gruppe von Status dies werden Sie gewünschtes Ergebnis

select status, count(id) as COUNT FROM table GROUP BY status 
Verwandte Themen