Вывести количество записей определенной даты - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть такой запрос
SELECT DISTINCT(DATE(calldate)) AS calldate 
FROM cdr WHERE calldate > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
AND calldate < DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY) AND LENGTH(src)>4
AND recordingfile LIKE 'in%' GROUP BY uniqueid
Он выводит даты с начала месяца
31.03.2016
01.04.2016
02.04.2016
03.04.2016
04.04.2016
05.04.2016
06.04.2016
07.04.2016
08.04.2016
09.04.2016
10.04.2016
11.04.2016
12.04.2016
Скажите пожалуйста, как сделать, чтобы запрос выводил еще и количество записей в базе данных с этой датой. Например, чтобы получилось так:
31.03.2016 | 11
01.04.2016 | 2
02.04.2016 | 5
03.04.2016 | 1
04.04.2016 | 12
05.04.2016 | 7
06.04.2016 | 3
07.04.2016 | 9
08.04.2016 | 2
09.04.2016 | 4 
10.04.2016 | 6
11.04.2016 | 6
12.04.2016 | 24
Очень надеюсь на вашу помощь!!!

Решение задачи: «Вывести количество записей определенной даты»

textual
Листинг программы
SELECT DISTINCT(DATE(s.calldate)) AS s.calldate 
FROM cdr  s 
LEFT JOIN(SELECT DATE(calldate) AS calldate, COUNT(DISTINCT uniqueid) 
FROM cdr WHERE calldate > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
AND calldate < DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY) AND LENGTH(src)>4
AND recordingfile LIKE 'in%' GROUP BY 1) AS t ON s.calldate = t.calldate
WHERE s.calldate > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
AND s.calldate < DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY) AND LENGTH(s.src)>4
AND s.recordingfile LIKE 'in%' GROUP BY s.uniqueid

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы