MySQL-запрос — статистика за месяц
3240 повідомлень
#13 років тому
Тут на форуме только что кто-то задавал вопрос, как SQL запросом получить статистику за месяц с интервалом в два дня. Потом почему-то удалил тему. Жаль, я только ответить хотел. В общем, не понимаю, зачем нужно удалять темы, тем более из раздела «Программирование». Оно же еще кому-то может впоследствии пригодиться, если не сейчас, то через несколько лет... Ну ладно.В общем, вот пример запроса, который выводит количество записей за каждые два дня заданного месяца для таблицы table1 и полем timestamp1 типа TIMESTAMP:
SELECT DAY(timestamp1), COUNT(*)
FROM table1
WHERE timestamp1 BETWEEN ? AND ?
GROUP BY (DAY(timestamp1)+1) DIV 2
ORDER BY 1;
Например, если нужно получить записи за август 2011, условие WHERE будет: timestamp1 BETWEEN DATE('2011-08-01'


Да, это медленно, но для небольшого количества записей (например несколько десятков тысяч записей в месяц) вполне подходит.
А вот для больших таблиц с миллионами записей имеет смысл делать отдельную таблицу для статистики.