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

MySQL với InnoDB:Làm thế nào để tránh sử dụng COUNT?

Đặt các điều kiện của bạn trong một sum() . Như thế này, bạn sẽ nhận được số lượng đơn lẻ

SELECT SUM(sourceItem = 1 AND destinationItem = 1) AS count1,
       SUM(sourceItem = 1 AND destinationItem = 2) AS count2
FROM trades

Để có được số lượng có điều kiện hoàn chỉnh, hãy làm

SELECT SUM(case when sourceItem > 0 and destinationItem > 0 then 2
                when sourceItem > 0 or destinationItem > 0 then 1
                else 0 
           end) AS complete_sum
FROM trades

hoặc

SELECT SUM(sourceItem > 0) + sum(destinationItem > 0) AS complete_sum
FROM trades


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách cập nhật giá trị hoán đổi của hai hàng với một truy vấn

  2. Biểu mẫu PHP không chèn vào cơ sở dữ liệu mySQL

  3. Hiển thị tất cả các bảng. Chức năng giống như mô tả

  4. Java - Lấy dữ liệu từ cơ sở dữ liệu MySQL

  5. cách tạo db mysql với sqlalchemy