2016-10-09 3 views
0

Ich muss die Anzahl der Datensätze zählen, die von einer MySQL-Abfrage zurückgegeben werden.counting COUNT (*) führt zu MySQL

SELECT 
    COUNT(sa.facility_hmis) AS deployed 
FROM 
    facility_service_area sa 
GROUP BY sa.facility_hmis 

dies wird mir geben können als das Ergebnis 6 Zeilen sagen, aber ich brauche es mich mit gerade die gezählte Anzahl Reihen, dh 6

+0

Siehe http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to -eine-sehr-einfache-SQL-Abfrage – Strawberry

Antwort

3

Verwenden distinct

SELECT COUNT(distinct facility_hmis) AS deployed FROM facility_service_area 
1

Wickeln Sie die Abfrage eine einzelne Zeile zu geben, in einem anderen count()

SELECT COUNT(1) from (
    SELECT COUNT(sa.facility_hmis) AS deployed FROM facility_service_area sa GROUP BY sa.facility_hmis 
) 
3

Wenn alles, was Sie brauchen, ist zu zählen Anzahl verschiedener facility_hmis Sie, dass explizit tun können, ohne an nichts anderes zu zählen:

SELECT COUNT(DISTINCT facility_hmis) FROM facility_service_area