MYSQLI Для расчета людей только с одной записью в таблице? - PullRequest
0 голосов
/ 05 июля 2018

Я застрял на этом навсегда, и я был бы очень благодарен за другую перспективу. У меня есть таблица отслеживания просмотров веб-сайтов, и мне нужно запросить количество людей, которые посетили только одну страницу. Моя таблица похожа на ниже:

SESSION_ID     PAGE
------------------------
122            HOME
122            CONTACT US
123            HOME
124            HOME

Мне нужен способ подсчитать количество сеансов, которые отображаются только один раз в таблице (просматривается только одна страница). IE: в приведенном выше: какой запрос сказал бы мне, что 2 человека просмотрели только одну страницу.

Я бы с удовольствием опубликовал то, что попробовал, но, честно говоря, понятия не имею, с чего начать. Я думаю что-то вроде:

$query=mysqli_query(con,"SELECT count PAGE as pages_viewed FROM analytics WHERE pages_viewed='1' GROUP BY SESSION ID");
$singleViewRows= mysqli_num_rows($query);

Но я не думаю, что это так? Может мне там нужен подзапрос?

Еще раз спасибо за помощь!

1 Ответ

0 голосов
/ 05 июля 2018

Если я правильно понял, нас интересует количество сессий, поэтому подсчет страниц не даст ожидаемого результата.

А как насчет следующего запроса:

SELECT session_id, COUNT(session_id) FROM analytics GROUP BY session_id HAVING COUNT(session_id) = 1

Выбор COUNT (session_id) не является обязательным, но он даст вам подтверждение, что вы выбрали только те, у которых в таблице 1 запись.

...