sql >> Databasteknik >  >> RDS >> Sqlserver

SELECT-fråga med flera underfrågor för räkningar

Här är ett sätt att göra det utan alla underfrågor

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'

Jag rensade också upp frågan lite, tog bort gruppen med eftersom detta alltid kommer att vara 1, och ändrade datumjämförelsen för att undvika att använda den röriga mellan logiken (Tack Aaron för kommentaren)



  1. WFLYJCA0041:Det gick inte att ladda modulen för drivrutinen [com.mysql] på Jboss 7 med MySQL-databas

  2. node.js mysql-fel:ECONNREFUSED

  3. mysql load data lokala infile syntax problem med inställda fält

  4. Hur hanterar man olika typer av användare när man loggar in?