`
magic_agate
  • 浏览: 102760 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

mysql 行转列 (带日期)

阅读更多
从网上找了很多行转列的。基本都是2行的行转列。不带日期分组的。


借鉴了另一个哥们的文章,实现了自己想要的结果,写出来大家可以参考。以后自己遇到同样情况,也可以有个备份
借鉴的地址为
https://www.cnblogs.com/gisblogs/p/3966822.html


处理过程:
我自己有的数据,这个已经是处理后的(源数据)

图1


下图是我自己想要实现得类似的行转列的样子,但是下图,并没有完全实现行转列。行和列还是分离的,只是多了列,所有的行并没有统一与合并数据

图2





最终实现的结果:
图3





下面是自己的sql


SELECT   IFNULL(dayt, 'total') AS total,
SUM(IF(tasktype='type0',num,0)) AS 'type0',
SUM(IF(tasktype='type1',num,0)) AS 'type1',
SUM(IF(tasktype='type2',num,0)) AS 'type2',
 SUM(IF(tasktype='type3',num,0)) AS 'type3',
 SUM(IF(tasktype='type4',num,0)) AS 'type4',
 SUM(IF(tasktype='type5',num,0)) AS 'type5',
 SUM(IF(tasktype='type6',num,0)) AS 'type6',
  SUM(IF(tasktype='type7',num,0)) AS 'type7',
   SUM(IF(tasktype='type8',num,0)) AS 'type8'
 
FROM ( 
 //省略中间的数据查询。为图1中的整理后的数据,也是源数据
)a  
 
GROUP BY dayt WITH ROLLUP









  • 大小: 16.6 KB
  • 大小: 22.3 KB
  • 大小: 21 KB
  • 大小: 25.8 KB
0
1
分享到:
评论

相关推荐

    mysql 行转列和列转行实例详解

    主要介绍了mysql 行转列和列转行实例详解的相关资料,需要的朋友可以参考下

    MYSQL

    8.4.4.3 选择特定列 8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理...

    mysql的日期和时间函数

    mysql的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。 mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) ...

    MySQL中文参考手册.chm

    8.4.4.3 选择特定列 8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 ...

    MySql 5.1 参考手册.chm

    3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT ...

    MySQL中文参考手册

    * 1 MySQL的一般的信息 o 1.1 什么是MySQL? o 1.2 关于本手册 + 1.2.1 本手册中使用的约定 o 1.3 MySQL的历史 o 1.4 MySQL的主要特征 o 1.5 MySQL稳定性? o 1.6 顺应2000年 o 1.7 SQL一般信息和教程 o ...

    六天带你玩转MySQL视频.zip

    目录网盘文件永久链接 mysql第一天 ...06列类型(时间日期类型) 07列类型(定长+变长字符串) 08列类型(文本字符串) 09列类型(枚举) 10列类型(集合) 11列类型(mysql记录长度) 12列属性(空属性).........

    MySQL 5.1中文手冊

    3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT ...

    MySQL日期函数与日期转换格式化函数大全

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数

    MySQL 5.1参考手册

    3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT ...

    mysql5.1中文手册

    拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用...

    MySQL 5.1官方简体中文参考手册

    3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT ...

    MySQL 5.1参考手册中文版

    3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_...

    varchar日期字段分区demo

    Range分区:最为常用,基于属于一个给定连续区间的列值,把多行分配给分区。最常见的是基于时间字段. 基于分区的列最好是整型,如果日期型的可以使用函数转换为整型。varchar日期字段分区sql demo

    Mysql从入门到精通视频教程(共29集)

    教程名称:Mysql从入门到精通视频教程(共29集)课程目录:【】mysql视频教程mysql PPT【】第1讲 数据库概念【】第2讲 mysql入门语句【】第3讲 增删改查语句介绍【】第4讲 整型列的字节与存储范围【】第5讲 整型列的...

    MySQL 5.1参考手册 (中文版)

    3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT ...

    mysql复制别人的

     显示当前mysql版本和当前日期  select version(),current_date;  修改mysql中root的密码:  shell>mysql -h localhost -u root -p //登录  mysql> update user set password=password("xueok654123") where ...

    Mysql数据库从入门到精通.rar

    1.mysql 备份数据 2.Mysql 更新数据 3.MySQL常用操作命令 4.MySQL的数据类型和建库策略详解 5.MySQL多表操作和备份处理 6.MySQL索引分类和各自用途 7.MySQL中的字符串比较函数 ...13.在MySQL中操作日期和时间

Global site tag (gtag.js) - Google Analytics