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