博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql 行转列
阅读量:4570 次
发布时间:2019-06-08

本文共 1618 字,大约阅读时间需要 5 分钟。

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

转载于:https://www.cnblogs.com/Mike_Chang/p/8021512.html

你可能感兴趣的文章
C# IP地址字符串和数值转换
查看>>
TCHAR和CHAR类型的互转
查看>>
常用界面布局
查看>>
C语言—— for 循环
查看>>
IBM lotus9.0测试版即将公测
查看>>
xml常用方法
查看>>
Cube Stacking(并差集深度+结点个数)
查看>>
AndroidStudio3更改包名失败
查看>>
jq 删除数组中的元素
查看>>
js URL中文传参乱码
查看>>
Leetcode 367. Valid Perfect Square
查看>>
UVALive 3635 Pie(二分法)
查看>>
win系统查看自己电脑IP
查看>>
Backup&recovery备份和还原 mysql
查看>>
一道面试题及扩展
查看>>
Unity 3D 我来了
查看>>
setup elk with docker-compose
查看>>
C++ GUI Qt4学习笔记03
查看>>
Java基础回顾 —反射机制
查看>>
c# 前台js 调用后台代码
查看>>