У меня есть таблица, которая называется раздавать, и у каждой раздачи могут быть участники. Я пытаюсь получить количество раздач без победителей. Таблица участников содержит поле победителя, равное 1 или 0.
Мои данные выглядят так:
Таблица бесплатных подарков
| id | name |
|----|------------|
| 1 | Giveaway 1 |
| 2 | Giveaway 2 |
Таблица участников
| id | giveaway_id|winner|
|----|------------|------|
| 1 | 1 | 0 |
| 2 | 1 | 0 |
| 3 | 2 | 0 |
Это мой запрос:
SELECT (SELECT COUNT(id) FROM contestants c
WHERE c.giveaway_id = g.id AND winner = 1) as winners
FROM giveaways g
having winners = 0
Прямо сейчас это вернет несколько строк, я хочу получить количество строк. Я попытался обернуть count () вокруг подзапроса winners, но это не сработало.
В приведенном выше примере это будет возвращено:
Results
| winners |
|---------|
| 0 |
| 0 |
Я хочу только количество строк, которое будет 2.
Какой подход лучше? Thx