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

CHỌN truy vấn với nhiều truy vấn phụ cho số lượng

Đây là một cách để làm điều đó mà không cần tất cả các truy vấn phụ

SELECT  Count(r.id) AS cnt_total,
        sum(case when r.action = 'notnow' then 1 else 0 end) as 'cnt_notnow',
        sum(case when r.action = 'insert' then 1 else 0 end) as 'cnt_insert',
        sum(case when r.action = 'update' then 1 else 0 end) as 'cnt_update',
        sum(case when r.action = 'verify' then 1 else 0 end) as 'cnt_verify'        
FROM    auto_reminders_members r

WHERE  r.reminder_id = 1
       AND CONVERT(DATE, r.date_last_reminder) = '20130328'

Tôi cũng đã dọn dẹp truy vấn một chút, xóa nhóm vì đây sẽ luôn là 1 và thay đổi so sánh ngày để tránh sử dụng lộn xộn giữa các lôgic (Cảm ơn Aaron đã nhận xét)



  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ỉ cập nhật phần Ngày của DateTime

  2. SQL Server đệ quy tự tham gia

  3. Cách cài đặt SQLOPS trên máy Mac

  4. Kết quả không liên quan trong đầu ra?

  5. Chuyển đổi biểu thức CASE trong SQL thành cột dẫn xuất trong SSIS