@Relapse

Как подсчитать значения из двух таблиц MySQL?

Здравствуйте!

Есть такой запрос:
SELECT a.parent_id FROM users a WHERE a.user_id != 0 AND a.parent_id != 0 GROUP BY a.parent_id;

который выводит ID рефереров из партнерской программы.

Необходимо также вывести количество рефералов у каждого реферера.
Запрос, выводящий рефералов определенного реферера:
SELECT * FROM referals a WHERE a.parent_id = ИД_РЕФЕРЕРА


Вопрос: как объединить эти два кода?
Пробовал так:
SELECT a.parent_id, COUNT(b.id) AS count_refs FROM users a, referals b WHERE a.parent_id = b.parent_id AND a.user_id != 0 AND a.parent_id != 0 GROUP BY a.parent_id

но выводятся не совсем корректные значения (где-то совпадают, где-то нет).
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
zoroda
@zoroda
Необычный Fullstack
Например, так:
SELECT distinct a.parent_id, b.cnt FROM users a 
left join (
SELECT parent_id, count(id) cnt FROM referals group by parent_id
) b on a.parent_id = b.parent_id
WHERE a.user_id != 0 AND a.parent_id != 0
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы