sql >> Databasteknik >  >> RDS >> Mysql

Summan av sökfrågan i sista raden

Först och främst behöver du inte underfrågorna, du kan istället räkna på ett villkor.

with rollup modifierare kan läggas till i group by klausul för att inkludera totalsumman. order by kan inte användas i samma fråga då, men kan användas i en yttre fråga.

Dessutom, med användning av coalesce du kan ersätta null värde för den totala raden med etiketten du väljer.

Slutligen, för att fortfarande sortera den totala raden i slutet, kan du lägga till en is null uttryck i order by sats, som kommer att utvärderas till false eller true . Den senare beställs sist.

select coalesce(checkby, 'Total') as checkby_or_total,
       fully,
       faulty,
       lasthour, 
       total 
from   (
        select   qcheck.checkby,
                 count(case result when 'fully tested & working' then 1 end)     as fully,
                 count(case result when 'faulty' then 1 end)                     as faulty,
                 count(case when finishdate >= now()-interval 1 hour then 1 end) as lasthour,
                 count(*) as total 
        from     qcheck
        where    date(finishdate) = CURDATE() 
        and      qcheck.checkby not like 'michael' 
        and      qcheck.checkby not like 'chaz'
        group by qcheck.checkby with rollup
        ) as main
order by    checkby is null, 
            total desc 



  1. Skillnad mellan delsträng i Postgresql

  2. Det går inte att importera .csv till Cloud SQL från konsolen

  3. Välj användare som endast tillhör vissa avdelningar

  4. Fel:Objekt av klassen CI_DB_mysql_result kunde inte konverteras till sträng