Последние несколько часов я бился головой о стену, пытаясь заставить этот единственный запрос работать, но безуспешно.
У меня есть одна таблица под названием viewer_log.
Каждая строка представляет собой просмотр страницы, к которому прикреплены session_id и отметка времени.
У меня проблемы с форматированием отметки времени в день, группировкой по этому дню, но затем подсчетом количества уникальных сеансов в день.
Пока что этот запрос (который также занимал много времени, чтобы работать):
SELECT day, COUNT(*) as unique_sessions from (SELECT COUNT(viewer_session_id) AS sessions, DATE_FORMAT(timestamp, "%Y-%m-%d") AS day FROM viewer_log GROUP BY `viewer_session_id` HAVING day='2011-03-23') AS sessions;
Вы заметите, что день жестко задан, давая
mysql> SELECT day, COUNT(*) as unique_sessions from (SELECT COUNT(viewer_session_id) AS sessions, DATE_FORMAT(timestamp, "%Y-%m-%d") AS day FROM viewer_log GROUP BY `viewer_session_id` HAVING day='2011-03-23') AS sessions;
+------------+-----------------+
| day | unique_sessions |
+------------+-----------------+
| 2011-03-23 | 21 |
+------------+-----------------+
IЯ хотел бы расширить эти результаты, не указывая день, когда я сталкиваюсь с проблемами и не могу найти ответ в Интернете ... Я уверен, что он там, не уверен, что я ищу.
EG:
+------------+-----------------+
| day | unique_sessions |
+------------+-----------------+
| 2011-03-21 | 14 |
| 2011-03-22 | 11 |
| 2011-03-23 | 21 |
+------------+-----------------+
У меня много проблем с продвижением по этой точке, я пытался объединить таблицу с копией ее собственной, но обычно сталкиваюсь с неизвестным именем столбца ИЛИрезультатs Я думаю, что должны появиться неправильно:
mysql> select DATE_FORMAT(v.timestamp, "%Y-%m-%d") AS date, count(sessions) as rows from (SELECT COUNT(viewer_session_id) AS sessions, DATE_FORMAT(timestamp, "%Y-%m-%d") AS date FROM viewer_log GROUP BY viewer_session_id) AS s JOIN viewer_log v ON (s.date=date) GROUP BY date;
+------------+--------+
| date | rows |
+------------+--------+
| 0000-00-00 | 2551 |
| 0000-00-00 | 20408 |
| 0000-00-00 | 20408 |
| 0000-00-00 | 5102 |
| 0000-00-00 | 2551 |
| 0000-00-00 | 2551 |
| 0000-00-00 | 63775 |
| 0000-00-00 | 211733 |
| 0000-00-00 | 53571 |
| 0000-00-00 | 53571 |
| 0000-00-00 | 53571 |
| 0000-00-00 | 51020 |
| 0000-00-00 | 48469 |
| 0000-00-00 | 91836 |
| 0000-00-00 | 86734 |
| 0000-00-00 | 33163 |
| 0000-00-00 | 45918 |
| 0000-00-00 | 28061 |
| 0000-00-00 | 86734 |
| 0000-00-00 | 76530 |
| 0000-00-00 | 53571 |
| 0000-00-00 | 33163 |
+------------+--------+
22 rows in set, 1 warning (0.63 sec)