У меня есть следующее:
SELECT COUNT(*),DAYNAME(sip_Date) AS DAY,sip_callid FROM request_line WHERE DAYNAME(sip_Date) = 'Saturday' GROUP BY sip_callid;
с выходом:
+ ---------- + ---------- + --------------------------- ---------- + | COUNT (*) | ДЕНЬ | sip_callid | + ---------- + ---------- + --------------------------- ---------- + | 6 | Суббота | 133E840E-F6A411DE-AA5C9CC8-17D97B68 | | 6 | Суббота | 162BF117-F6A611DE-A986A3C8-FB0ED04D | | 18 | Суббота | 163C78CD-F6A611DE-9FC6D5B8-87CB70FC | | 12 | Суббота | 1A7C93B6-F6A711DE-91F4BA52-B031BEF4 | | 6 | Суббота | 1AB2BC9C-F6A311DE-A972A3C8-FB0ED04D | | 4 | Суббота | 1F7E3D6C-F6AC11DE-A045D5B8-87CB70FC | | 4 | Суббота | 1FA68517-F6AC11DE-A048D5B8-87CB70FC | | 4 | Суббота | 1FCECD5A-F6AC11DE-A04AD5B8-87CB70FC | | 4 | Суббота | 1FEDED7C-F6AC11DE-A04DD5B8-87CB70FC | | 6 | Суббота | 2625EFE-F6A311DE-A96FA3C8-FB0ED04D | + ---------- + ---------- + --------------------------- ---------- +
Но мне нужно подсчет каждого уникального "sip_callid" в день, поэтому мне нужен выход:
+ ---------- + ---------- + | COUNT (*) | ДЕНЬ | + ---------- + ---------- + | 70 | Суббота |
Но я не могу сделать это с группой на sip_callid. Если я делаю группу по Дню, я получаю все строки, даже если sip_callid одинаково очевидно. Любая помощь будет оценена.
Думаю, вам понадобится COUNT (DISTINCT)
Что-то вроде этого
SELECT DAYNAME(sip_Date) AS DAY,
COUNT(DISTINCT sip_callid)
FROM request_line
WHERE DAYNAME(sip_Date) = 'Saturday'
GROUP BY DAYNAME(sip_Date)