Můžete použít Case .. When
zkontrolovat, zda points
je více než 10 pro konkrétní řádek a podle toho je započítejte (pomocí Sum()
).
SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
V MySQL jej můžeme dále zkrátit jako Sum()
funkce může jednoduše přetypovat výsledky podmíněných operátorů/funkcí na 0/1 (pro false/true v tomto pořadí):
SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team