Вывод найденных элементов в 2 столбца - MySQL
Формулировка задачи:
Есть 3 столбца в таблице : Дата, IP, Сайт
Нужно сортировав по дате, найти 2 сайта (например %vk.com% и %google.com%) и выписать количество в 2 разных столбца , при этом не считать одинаковые IP.
Пример:
Вот мой код :
Но надо как-то добавить 3 столбик с Google, пытался как-то добавить еще 1 "site like '%google.com%', но ничего не вышло. Подскажите
___Date_____VK__Google |
2016-08-10___3____6 |
2016-08-14___2____2 |
SELECT DISTINCT date AS Date, COUNT(DISTINCT ip_address) AS Vk FROM visits WHERE site LIKE '%vk.com%' GROUP BY date
Решение задачи: «Вывод найденных элементов в 2 столбца»
textual
Листинг программы
SELECT DISTINCT date AS Date, COUNT(DISTINCT case when site LIKE '%vk.com%' then ip_address end) AS Vk COUNT(DISTINCT case when site LIKE '%google.com%' then ip_address end) AS google FROM visits WHERE site LIKE '%vk.com%' or site LIKE '%google.com%' GROUP BY date
Объяснение кода листинга программы
- SELECT DISTINCT - выбранные строки будут уникальными по дате
- date AS Date - указание имени столбца, в данном случае дата
- COUNT(DISTINCT case when site LIKE '%vk.com%' then ip_address end) AS Vk - подсчет уникальных IP-адресов для сайта vk.com
- COUNT(DISTINCT case when site LIKE '%google.com%' then ip_address end) AS google - подсчет уникальных IP-адресов для сайта google.com
- FROM visits - указание таблицы, из которой нужно выбрать данные
- WHERE site LIKE '%vk.com%' OR site LIKE '%google.com%' - указание условий для выборки данных (сайт должен быть vk.com или google.com)
- GROUP BY date - группировка данных по дате
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д