Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

PILIH kueri dengan beberapa sub-kueri untuk jumlah

Berikut adalah cara untuk melakukannya tanpa semua sub-kueri

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'

Saya juga membersihkan kueri sedikit, menghapus grup karena ini akan selalu menjadi 1, dan mengubah perbandingan tanggal untuk menghindari penggunaan logika yang berantakan (Terima kasih Aaron atas komentarnya)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kueri server sql berjalan lambat dari java

  2. Tambahkan Nomor Baris di Grup

  3. Ringkas daftar menjadi string yang dipisahkan koma

  4. Pernyataan SQL GROUP BY CASE dengan fungsi agregat

  5. Menyimpan gambar pada database