Привет, ребята, это очень упрощенная версия моей таблицы:
Я хотел бы сделать четыре запроса mysql в этой таблице. Все они должны будут подсчитать общее количество посещений, где id_user равно определенному значению и тип отличается от клика . Один запрос должен посчитать посещений сегодня, другой на этой неделе, месяце и общих посещений. Я не очень разбираюсь в MySQL, я могу, конечно, решить это с помощью PHP, но я предпочитаю загружать его на свой SQL-сервер. Спасибо за вашу помощь!
Дайте им идти. Я не знаю, что называется вашей таблицей, поэтому я trafficTable
на нее как на trafficTable
:
-- Visits today select count(*) as visits_today from trafficTable tt where tt.type != 'click' and tt.id_user = '19d71' and datetime >= curdate(); -- Visits this week select count(*) as visits_this_week from trafficTable tt where tt.type != 'click' and tt.id_user = '19d71' and yearweek(datetime) = yearweek(curdate()); -- Visits this month select count(*) as visits_this_month from trafficTable tt where tt.type != 'click' and tt.id_user = '19d71' and year(datetime) = year(curdate()) and month(datetime) = month(curdate()); -- Total visits select count(*) as total_visits from trafficTable tt where tt.type != 'click' and tt.id_user = '19d71'; --- if you want the last month - this help other ppl in other thread select count(*) as visits_this_month from trafficTable tt where tt.type != 'click' and tt.id_user = '19d71' and year(datetime) <= year(curdate()) and month(datetime) <= month(curdate());
Возможно, вам стоит взглянуть на эту страницу:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
Функции month()
, date()
, curdate()
, week()
и некоторые другие должны делать трюк