select if null(c1, 'total'),
sum(if(c2 = 'B1', C3, 0)) as B1,
sum(if(c2 = 'B2', C3, 0)) as B2,
sum(if(c2 = 'B3', C3, 0)) as B3,
sum(if(c2 = 'B4', C3, 0)) as B4,
sum(C3) as TOTAL
from test_row_col
group by C1 with rollup;
For example
select STAT_DATE,
SUM(if(SERVICE_ID = '50001', CHARGE, 0)) as '50001',
SUM(if(SERVICE_ID = '50005', CHARGE, 0)) as '50005',
SUM(if(SERVICE_ID = '50006', CHARGE, 0)) as '50006',
SUM(if(SERVICE_ID = '53001', CHARGE, 0)) as '53001',
SUM(if(SERVICE_ID = '50014', CHARGE, 0)) as '50014',
SUM(CHARGE) as TOTAL
from `am_realtime_stat_detail`
where STAT_DATE BETWEEN '20140828' AND '20140901' and STAT_time = '235959'
group by STAT_DATE;
sum(if(c2 = 'B1', C3, 0)) as B1,
sum(if(c2 = 'B2', C3, 0)) as B2,
sum(if(c2 = 'B3', C3, 0)) as B3,
sum(if(c2 = 'B4', C3, 0)) as B4,
sum(C3) as TOTAL
from test_row_col
group by C1 with rollup;
For example
select STAT_DATE,
SUM(if(SERVICE_ID = '50001', CHARGE, 0)) as '50001',
SUM(if(SERVICE_ID = '50005', CHARGE, 0)) as '50005',
SUM(if(SERVICE_ID = '50006', CHARGE, 0)) as '50006',
SUM(if(SERVICE_ID = '53001', CHARGE, 0)) as '53001',
SUM(if(SERVICE_ID = '50014', CHARGE, 0)) as '50014',
SUM(CHARGE) as TOTAL
from `am_realtime_stat_detail`
where STAT_DATE BETWEEN '20140828' AND '20140901' and STAT_time = '235959'
group by STAT_DATE;