sql >> Database >  >> RDS >> Sqlserver

SELECT-query met meerdere subquery's voor tellingen

Hier is een manier om dat te doen zonder alle subquery's

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'

Ik heb de query ook een beetje opgeschoond, de groep verwijderd omdat dit altijd 1 zal zijn en de datumvergelijking gewijzigd om te voorkomen dat de rommelige logica tussen de twee wordt gebruikt (bedankt Aaron voor de opmerking)



  1. Mocha Test-verbinding met DB

  2. Waarom retourneert PDO::lastInsertId 0?

  3. SQL:wat is de standaardvolgorde van query's?

  4. Hoe records te verwijderen NIET IN