zoukankan      html  css  js  c++  java
  • sql 行转列

    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 c
    ORDER BY FIELD(客户,'总计'),c.`01` DESC

  • 相关阅读:
    [转]pycharm的一些快捷键
    Python学习笔记(三十五)—内置模块(4)struct
    Python学习笔记(三十四)—内置模块(3)base64
    Python学习笔记(三十三)常用内置模块(2)collections_namedtuple_deque_defaultdict_OrderedDict_Counter
    Python学习笔记(三十二)常用内建模块(1)— datetime
    Python学习笔记(二十九)ThreadLocal
    使用Java代码发送SMTP邮件
    Python学习笔记(二十五)操作文件和目录
    Python学习笔记(二十)调试
    Python学习笔记(十八)@property
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/8021512.html
Copyright © 2011-2022 走看看