Как сделать статистику из даты в бд
Есть статистика вот в таком формате(на скрине показал скрин из бд)
Как или какой запрос нужен что бы запросить колличество users_id за последний день,неделю,месяц и тд?

Ответы (1 шт):
Автор решения: Wairua
→ Ссылка
SELECT COUNT(u.user_id) FROM (SELECT user_id FROM some_table WHERE DATE_FORMAT(data, '%y%v') = date_format(DATE(NOW()), '%y%v') GROUP BY user_id) u;
# Неделя в формате год (две последние цифры года), неделя (с ведущим нулем)
SELECT user_id FROM some_table WHERE DATE_FORMAT(data, '%y%v') = 1908; # 8-я неделя 2019 года
# За прошлую неделю в формате год (две последние цифры года), неделя (с ведущим нулем)
SELECT user_id FROM some_table WHERE DATE_FORMAT(data, '%y%v') = DATE_FORMAT(DATE(NOW()), '%y%v') - 1;
# Год в своем привычном формате
SELECT user_id FROM some_table WHERE DATE_FORMAT(data, '%Y') = 2019;
Ну и дальше в таком-же духе