Есть запрос
SELECT calldate,count(*) FROM cdr WHERE dstchannel LIKE '%6392%' AND type = 'main' AND direction= 'incoming' AND calldate between '2015-06-01' and '2015-08-31' group by calldate;
Результат:
calldate | count
------------------------+-------
2015年06月02日 09:31:07+03 | 1
2015年06月02日 09:48:12+03 | 1
2015年06月02日 10:12:15+03 | 1
2015年06月02日 10:21:12+03 | 1
2015年06月02日 10:37:20+03 | 1
2015年06月02日 11:51:08+03 | 1
2015年06月02日 12:12:06+03 | 1
2015年06月02日 12:16:36+03 | 1
2015年06月02日 12:50:24+03 | 1
2015年06月02日 13:10:07+03 | 1
2015年06月02日 13:17:20+03 | 1
2015年06月02日 14:21:12+03 | 1
2015年06月02日 15:13:12+03 | 1
2015年06月02日 15:18:03+03 | 1
2015年06月02日 15:21:45+03 | 1
2015年06月02日 15:52:36+03 | 1
2015年06月03日 15:06:36+03 | 1
Желаемый результат:
calldate | count
------------------------+-------
2015年06月02日 | 16
2015年06月03日 | 1
поле calldate имеет вид 2015年06月03日 15:06:36+03
Подскажите как отредактировать запрос что бы получить желаемый результат ?
1 ответ 1
Вам нужна группировка по полю calldate, но только по дате, без временной части...
MySQL функция DATE() берет только дату из поля типа datetime - вот по ней и группируйте.
Вот такой вариант:
SELECT DATE(calldate) as calldate, count(*)
FROM cdr
WHERE dstchannel LIKE '%6392%' AND type = 'main' AND direction= 'incoming'
AND calldate between '2015-06-01' and '2015-08-31'
GROUP BY DATE(calldate);
ответ дан 7 окт. 2015 в 15:05
cyadvert
7,0351 золотой знак19 серебряных знаков31 бронзовый знак
Начните задавать вопросы и получать на них ответы
Найдите ответ на свой вопрос, задав его.
Задать вопросlang-sql