SELECT c.*
FROM ( SELECT IFNULL(b.客户,"总计") AS 客户, SUM(IF(b.`日期`='01',b.数量,NULL)) AS '01', SUM(IF(b.`日期`='02',b.数量,NULL)) AS '02', SUM(IF(b.`日期`='03',b.数量,NULL)) AS '03', SUM(IF(b.`日期`='04',b.数量,NULL)) AS '04', SUM(IF(b.`日期`='05',b.数量,NULL)) AS '05', SUM(IF(b.`日期`='06',b.数量,NULL)) AS '06', SUM(IF(b.`日期`='08',b.数量,NULL)) AS '08', SUM(IF(b.`日期`='09',b.数量,NULL)) AS '09', SUM(IF(b.`日期`='10',b.数量,NULL)) AS '10', SUM(IF(b.`日期`='11',b.数量,NULL)) AS '11', SUM(IF(b.`日期`='12',b.数量,NULL)) AS '12', SUM(IF(b.`日期`='13',b.数量,NULL)) AS '13', SUM(IF(b.`日期`='13',b.数量,NULL)) AS '14', SUM(IF(b.`日期`='13',b.数量,NULL)) AS '15', SUM(IF(b.`日期`='16',b.数量,NULL)) AS '16', SUM(IF(b.`日期`='17',b.数量,NULL)) AS '17', SUM(IF(b.`日期`='18',b.数量,NULL)) AS '18', SUM(IF(b.`日期`='19',b.数量,NULL)) AS '19', SUM(IF(b.`日期`='20',b.数量,NULL)) AS '20', SUM(IF(b.`日期`='21',b.数量,NULL)) AS '21', SUM(IF(b.`日期`='22',b.数量,NULL)) AS '22', SUM(IF(b.`日期`='23',b.数量,NULL)) AS '23', SUM(IF(b.`日期`='24',b.数量,NULL)) AS '24', SUM(IF(b.`日期`='25',b.数量,NULL)) AS '25', SUM(IF(b.`日期`='26',b.数量,NULL)) AS '26', SUM(IF(b.`日期`='27',b.数量,NULL)) AS '27', SUM(IF(b.`日期`='28',b.数量,NULL)) AS '28', SUM(IF(b.`日期`='29',b.数量,NULL)) AS '29', SUM(IF(b.`日期`='30',b.数量,NULL)) AS '30', SUM(IF(b.`日期`='31',b.数量,NULL)) AS '31' FROM ( SELECT IFNULL(order_source,'空') AS 客户,DATE_FORMAT(sys_createtime,"%d") AS 日期,COUNT(waybill_no) AS 数量 FROM order_infos AS a WHERE DATE_FORMAT(sys_createtime,"%Y%m") ='201711' GROUP BY order_source,DATE_FORMAT(sys_createtime,"%Y%m%d") ) AS b GROUP BY b.客户 WITH ROLLUP) AS cORDER BY FIELD(客户,'总计'),c.`01` DESC