Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

sql nhận tổng số và tổng số đã lọc trong một truy vấn

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn các giá trị động từ biểu mẫu HTML và lưu trữ trong các biến thể PHP

  2. Làm cách nào để đặt mã hóa cho các cột char của bảng trong django?

  3. MySQL bỏ qua hàng đầu tiên

  4. Mệnh đề Where trong SQL với nhiều giá trị

  5. Chèn vào cùng một bảng mysql kích hoạt