Я пытаюсь получить счет с посещений на прошлой неделе.Запрос Mysql, чтобы получить счет за последнюю неделю
До сих пор, у меня есть это работает:
SELECT FROM_UNIXTIME(login),COUNT(*)
FROM users
WHERE FROM_UNIXTIME(login) >= (CURDATE() - INTERVAL DAYOFWEEK(CURDATE())+6 DAY)
GROUP BY DAYOFWEEK(FROM_UNIXTIME(login));
Результаты:
+----------------------+----------+
| FROM_UNIXTIME(login) | COUNT(*) |
+----------------------+----------+
| 2013-04-08 12:49:04 | 1 |
| 2013-04-10 17:29:21 | 2 |
| 2013-04-05 21:27:00 | 1 |
+----------------------+----------+
Проблемы:
-Таблица не упорядочено по дате;
-Я хотел бы показать все 7 строк, даже если значение count = '0'.
Как я могу это исправить? Заранее спасибо!
[UPDATE]
Сортировать по дате решена:
ORDER BY FROM_UNIXTIME(login);
Просто нужно, чтобы показать все 7 рядов неделю!
Я не думаю, что это возможно, чтобы получить строку, если count равно 0 или, по крайней мере, не с очень сложным запросом (если возможно). Count - результат выбора, и если нет записи для определенной даты, просто нет записи для отображения счета для –
. Вам нужно использовать опцию 'order by' и' limit' – TNK
@TNK, спасибо! заказ сейчас работает. Только нужно выяснить, как показать все 7 строк всей недели ... –