У меня есть эта таблица структура с данными:MySQL подсчитывать в том же таблице, включая нулевое значение счетчика
INSERT INTO `test` (`id`, `email`, `id_user_ref`, `name`) VALUES
(1, '[email protected]', NULL, 'Mike'),
(2, '[email protected]', '1', 'Jhonny'),
(3, '[email protected]', '1', 'Michael'),
(4, '[email protected]', '2', 'Jorhe'),
(5, '[email protected]', '3', 'Mia');
Мне нужно подсчитать id_user_ref для всех пользователей с этим запросом:
SELECT id, COUNT(name) AS refNr FROM test GROUP BY id_user_ref
HAVING id_user_ref IS NOT NULL;
Это работает, но проблема в том, что мне нужно отображать все результаты, даже если результат подсчета равен 0.
Я пробовал несколько левых объединений с одной и той же таблицей, но без каких-либо успехов.
Вывод должен быть:
id refNr
1 2
2 1
3 1
4 0
5 0
вы хотите посчитать, сколько пользователей Майк пригласил? то вы столкнетесь с внутренним соединением от таблицы к себе :-) – Najzero
Какой желаемый результат вы хотите получить из этого запроса? –
Мне нужно знать, как для каждого человека, сколько людей имеют свой идентификатор, включая 0 –