2010-01-02 4 views
0

je donne les résultats suivants:mysql compte quotidien groupé par une colonne

SELECT COUNT(*),DAYNAME(sip_Date) AS DAY,sip_callid FROM request_line WHERE DAYNAME(sip_Date) = 'Saturday' GROUP BY sip_callid; 

avec une sortie:

 
+----------+----------+-------------------------------------+ 
| COUNT(*) | DAY  | sip_callid       | 
+----------+----------+-------------------------------------+ 
|  6 | Saturday | 133E840E-F6A411DE-AA5C9CC8-17D97B68 | 
|  6 | Saturday | 162BF117-F6A611DE-A986A3C8-FB0ED04D | 
|  18 | Saturday | 163C78CD-F6A611DE-9FC6D5B8-87CB70FC | 
|  12 | Saturday | 1A7C93B6-F6A711DE-91F4BA52-B031BEF4 | 
|  6 | Saturday | 1AB2BC9C-F6A311DE-A972A3C8-FB0ED04D | 
|  4 | Saturday | 1F7E3D6C-F6AC11DE-A045D5B8-87CB70FC | 
|  4 | Saturday | 1FA68517-F6AC11DE-A048D5B8-87CB70FC | 
|  4 | Saturday | 1FCECD5A-F6AC11DE-A04AD5B8-87CB70FC | 
|  4 | Saturday | 1FEDED7C-F6AC11DE-A04DD5B8-87CB70FC | 
|  6 | Saturday | 2625EFE-F6A311DE-A96FA3C8-FB0ED04D | 
+----------+----------+-------------------------------------+ 

Mais je besoin d'un nombre de chaque unique "sip_callid" par jour, donc je besoin d'un ouput comme:

 
+----------+----------+ 
| COUNT(*) | DAY  | 
+----------+----------+ 
|  70 | Saturday | 

Mais je ne peux pas semble le faire avec un groupe de sur sip_callid. Si je fais un groupe par JOUR, alors j'obtiens toutes les lignes même si le sip_callid est le même évidemment. Toute aide sera appréciée.

Répondre

2

Je pense que vous auriez besoin COUNT(DISTINCT)

Quelque chose comme ça

SELECT DAYNAME(sip_Date) AS DAY, 
     COUNT(DISTINCT sip_callid) 
FROM request_line 
WHERE DAYNAME(sip_Date) = 'Saturday' 
GROUP BY DAYNAME(sip_Date) 
Questions connexes