У меня есть две таблицы:
users
, которые имеют только два столбца: id: INT, name: TEXT
houses
, которые имеют три столбца: id: INT, user_id: INT, sold_at: DATE
Iесть этот запрос, который определяет количество домов, проданных пользователем:
SELECT users.id, COUNT(CASE WHEN houses.sold_at IS NOT NULL THEN 1 END)
FROM users
LEFT JOIN houses on houses.user_id = users.id
GROUP BY users.id
Это работает, но мне интересно, есть ли способ не иметь условие в подсчете.Я пробовал это:
SELECT users.id, COUNT(houses.id)
FROM users
LEFT JOIN houses on houses.user_id = users.id
WHERE houses.sold_at IS NOT NULL
GROUP BY users.id
Но это не работает, потому что, если у пользователя нет связанных домов, он не будет отображаться в наборе результатов.
Isмой единственный вариант сделать условия на COUNTs?