Я делаю диаграмму, которая будет отображать просмотры, уникальных посетителей и постоянных посетителей сайта за каждый день. На моей главной странице я регистрирую IP каждого посетителя и дату, когда он был записан. Для работы графика мне нужно 3 MySQL запросов, каждый из которых показывает одно значение для каждого дня.
Первый запрос будет выглядеть примерно так:
SELECT DATE_FORMAT(date,'%y-%m-%d'),COUNT(ip) FROM visits GROUP BY DATE_FORMAT(date,'%y-%m-%d')
Этот запрос будет просто Количество выходных IP-адресов, зарегистрированных в день.
Два следующих запроса будут сложнее. Для второго мне нужно считать каждый IP-адрес только один раз в день
Для третьего мне нужно учитывать только те IP-адреса, которые уже есть в базе данных.
Я обнаружил, что третий может быть выполнен с использованием чего-то подобного
SELECT date,
visits.ip
FROM visits
INNER JOIN (SELECT ip
FROM visits
GROUP BY ip
HAVING COUNT(id) > 1) dup
ON visits.ip = dup.ip
Однако я не мог понять, как реализовать подсчет записей в этом.
Как я могу сделать второй и третий запрос?
Я также открыт для PHP решений