#mysql
#mysql
Вопрос:
Я пытаюсь узнать, сколько клиентов, которые пришли напрямую (где маркетинговая среда была бы пустой) на сайт, прежде чем совершать покупку. Идентификатор сеанса — это когда они заходят на сайт и сеанс запущен. Идентификатор посетителя — это его уникальный идентификатор.
Select
session_id,
purchase_time
FROM orders
where marketing_medium is NULL
Group by visitor_id;
Ответ №1:
Я не вижу причин даже использовать GROUP BY
здесь, по крайней мере, не на основе требований, которые вы нам сообщили. Вместо этого, возможно, вам нужно ORDER BY visitor_id
:
SELECT
visitor_id,
session_id,
purchase_time
FROM orders
WHERE
marketing_medium IS NULL
ORDER BY
visitor_id;
Ответ №2:
Если вы хотите подсчитать количество клиентов, то вам нужно только COUNT()
без GROUP BY
:
select count(visitor_id) counter
from orders
where marketing_medium is null
Если вы хотите подсчитать каждого отдельного клиента только один раз, даже если он совершил много покупок, используйте DISTINCT
:
select count(distinct visitor_id) counter
from orders
where marketing_medium is null