Можете да използвате Case .. When
за да проверите дали points
са повече от 10 за конкретен ред и ги пребройте съответно (с помощта на Sum()
).
SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
В MySQL можем да го съкратим допълнително като Sum()
функцията може просто да прехвърля резултатите от условни оператори/функции към 0/1 (за false/true съответно):
SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team