0
I имеет следующую структуру:Выборки из базы данных подсчета по дням
id | some_foreign_id | date
1 5 2015-09-29 23:14:23
2 5 2015-09-29 14:13:21
3 8 2015-09-28 22:23:12
Для указанного some_foreign_id
Я хочу вернуть количество строк в этой таблице для каждого дня из последних 2-х недель. Я создал это:
SELECT DATE(t.sent_at), COUNT(*)
FROM table t
INNER JOIN sometable st ON st.some_id = t.id
INNER JOIN someOtherTable sot ON sot.someother_id = st.id
WHERE t.sent_at >= DATE_ADD(CURDATE(), INTERVAL -14 DAY)
AND t.some_foreign_id = 5
GROUP BY DATE(t.sent_at);
Это показывает некоторые результаты, но:
- Не показывать 0, если день имеет 0 записей.
- Изменение интервала до -15 изменяет счетчик с последнего дня - не знаю почему.
Как я мог сделать это правильно?
Можете ли вы предоставить некоторые данные образца. – Rahul
У вас есть, для id '5' он должен вернуть 2 строки для' 2015-09-29' и 0 строк за все остальные дни с предыдущих 2 недель. – khernik