Bạn có thể sử dụng Case .. When
để kiểm tra xem points
nhiều hơn 10 cho một hàng cụ thể và đếm nó tương ứng (sử dụng Sum()
).
SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
Trong MySQL, chúng ta có thể rút ngắn nó hơn nữa là Sum()
hàm có thể chỉ cần chuyển kết quả của các toán tử / hàm có điều kiện thành 0/1 (tương ứng là false / true):
SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team