я следующая проблема с моим запросом:Неправильное использование функции внутреннего соединения/групповой функции?
У меня есть две таблицы:
- клиентов
- Subscriber
связаны между собой customer.id = subscriber.customer_id
в таблице подписчиков, у меня есть записи с id_customer = 0 (это записи электронной почты, у которых нет полной учетной записи клиента)
Теперь я хочу, чтобы показать, сколько клиентов у меня есть в день, и сколько абонентов с id_customer, и сколько абонентов с id_customer = 0 (emailonlies я называю их)
каким-то образом, я не могу управлять, чтобы получить те emailonlies. Возможно, это связано с тем, что вы не используете правильный тип соединения. Когда я использую левое соединение, я получаю нужное количество клиентов, но не правильное количество emailonlies. Когда я использую внутреннее соединение, я получаю неправильное количество клиентов. Правильно ли я использую групповую функцию? Я думаю, что это как-то связано с этим.
ЭТО МОЙ ЗАПРОС:
` SELECT DATE(c.date_register),
COUNT(DISTINCT c.id) AS newcustomers,
COUNT(DISTINCT s.customer_id) AS newsubscribedcustomers,
COUNT(DISTINCT s.subscriber_id AND s.customer_id=0) AS emailonlies
FROM customer c
LEFT JOIN subscriber s ON s.customer_id=c.id
GROUP BY DATE(c.date_register)
ORDER BY DATE(c.date_register) DESC
LIMIT 10
;`
В подписчике вы ищете 'id_customer = 0' или' customer_id = 0', чтобы определить emailonlies? – AgRizzo