Mysql
 sql >> Database >  >> RDS >> Mysql

Conteggio delle righe totali e raggruppamento per colonna in mysql

Per prima cosa devi raggruppare per per ottenere le colonne calcolate

 SELECT Customer, COUNT(*) as total_count, SUM(duration) as total_duration
 FROM yourTable
 GROUP BY  Customer

e

 SELECT Customer, Error, COUNT(*) as error_count
 FROM yourTable
 GROUP BY  Customer, Error

Quindi unisciti di nuovo al tuo tavolo

SELECT t1.Customer, 
       t2.total_count, 
       t1.error, 
       t3.error_count, 
       t2.total_duration
FROM yourTable as t1
JOIN (
     SELECT Customer, COUNT(*) as total_count, SUM(duration) as total_duration
     FROM yourTable
     GROUP BY  Customer
     ) as t2
  ON t1.Customer = t2.Customer
JOIN (
     SELECT Customer, Error, COUNT(*) as error_count
     FROM yourTable
     GROUP BY  Customer, Error
) as t3
 ON t1.Customer = t3.Customer
AND t1.Error = t3.Error
GROUP BY t1.Customer
       , t1.Error