Design_Nick Posted February 15, 2014 Share Posted February 15, 2014 (edited) Возникло желание посмотреть статистику предупреждений вынесенных пользователям за определенный период.В стандартной Админке есть только список последних и далее можно смотреть по пользователям.А мне интересна статистика. Кто-нибудь решал такую задачу? Edited February 15, 2014 by Design_Nick Link to comment Share on other sites More sharing options...
Zero108 Posted February 15, 2014 Share Posted February 15, 2014 Если Вы думаете, что можете что-то сделать или что не можете что-то сделать, в обоих случаях Вы ПРАВЫ! © Генри ФордГенри Форд, это который пособник нацистов и ненавидел евреев? Link to comment Share on other sites More sharing options...
siv1987 Posted February 15, 2014 Share Posted February 15, 2014 Статистика предупреждений выданных за 5 месяцев (ver 3.1x - 3.2x) SELECT m.member_id, m.name, COUNT(*) as count FROM ibf_warn_logs w LEFT JOIN ibf_members m ON (m.member_id=w.wlog_mid) WHERE wlog_date > UNIX_TIMESTAMP(NOW() - INTERVAL 5 MONTH) GROUP BY w.wlog_mid ORDER BY count DESC по дням за 5 месяцев SELECT m.member_id, m.name, FROM_UNIXTIME(wlog_date, '%Y-%m-%d') as `date`, COUNT(*) as count FROM ibf_warn_logs w LEFT JOIN ibf_members m ON (m.member_id=w.wlog_mid) WHERE wlog_date > UNIX_TIMESTAMP(NOW() - INTERVAL 5 MONTH) GROUP BY `date`,m.member_id ORDER BY `date` DESC; 5 месяцев - INTERVAL 5 MONTH Link to comment Share on other sites More sharing options...
Design_Nick Posted February 17, 2014 Author Share Posted February 17, 2014 (edited) @siv1987, спасибо, но мне интересна не статистика по пользователям, а суммарная статистика за период.Или первый запрос и есть то что мне надо? Решил попробовать - оба запроса выводят пустое значение. ПС. Я в запросах практически не разбираюсь. Edited February 17, 2014 by Design_Nick Link to comment Share on other sites More sharing options...
newbie Posted February 17, 2014 Share Posted February 17, 2014 Решил попробовать - оба запроса выводят пустое значение.Потому что, начиная с версии 3.3.0, таблица warn_logs не используется. Ей на смену пришла таблица members_warn_logs. admin/applications/core/setup/versions/upg_33000/version_upgrade.php public function convertLogs() { ............................................ // We probably should delete the old warn_logs table here, but I'm not going to in case any bugs come up with this converter Поэтому запросы нужно переписать под новую таблицу Link to comment Share on other sites More sharing options...
siv1987 Posted February 17, 2014 Share Posted February 17, 2014 Суммарная статистика за период по месяцам или сумма выданных предуприждений за какой-то период? Ну и да, под 3.4 нужно немного подправить запросы. Поэтому пишите актуальную версию форума в профиле Link to comment Share on other sites More sharing options...
Design_Nick Posted February 17, 2014 Author Share Posted February 17, 2014 (edited) Суммарная статистика за период по месяцам или сумма выданных предуприждений за какой-то период? Ну и да, под 3.4 нужно немного подправить запросы. Поэтому пишите актуальную версию форума в профилеНаписал в заголовке темы, извиняйте что профилем ввел в заблуждение. Профиль сейчас тоже поправил. Хочу просто знать "сумму предупреждений за период". Edited February 17, 2014 by Design_Nick Link to comment Share on other sites More sharing options...
siv1987 Posted February 17, 2014 Share Posted February 17, 2014 "Старые" запросыSELECT m.member_id, m.name, COUNT(*) as count FROM ibf_members_warn_logs w LEFT JOIN ibf_members m ON (m.member_id=w.wl_member) WHERE wl_date > UNIX_TIMESTAMP(NOW() - INTERVAL 5 MONTH) GROUP BY w.wl_member ORDER BY count DESC SELECT m.member_id, m.name, FROM_UNIXTIME(w.wl_date, '%Y-%m-%d') as `date`, COUNT(*) as count FROM ibf_members_warn_logs w LEFT JOIN ibf_members m ON (m.member_id=w.wl_member) WHERE wl_date > UNIX_TIMESTAMP(NOW() - INTERVAL 5 MONTH) GROUP BY `date`, m.member_id ORDER BY `date` DESC;+ статистика по месяцам за последние 5 месяцев SELECT FROM_UNIXTIME(wl_date, '%Y-%m') as dates, COUNT(*) as `count` FROM ibf_members_warn_logs WHERE wl_date > UNIX_TIMESTAMP(NOW() - INTERVAL 5 MONTH) GROUP BY dates ORDER BY datesи общее количество предупреждений за 5 месяцев SELECT COUNT(*) as `count` FROM ibf_members_warn_logs WHERE wl_date > UNIX_TIMESTAMP(NOW() - INTERVAL 5 MONTH) Link to comment Share on other sites More sharing options...
Design_Nick Posted February 19, 2014 Author Share Posted February 19, 2014 @siv1987, огромное спасибо! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now