从网上找了很多行转列的。基本都是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
分享到:
相关推荐
主要介绍了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的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。 mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) ...
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 ...
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 ...
* 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第一天 ...06列类型(时间日期类型) 07列类型(定长+变长字符串) 08列类型(文本字符串) 09列类型(枚举) 10列类型(集合) 11列类型(mysql记录长度) 12列属性(空属性).........
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常用日期函数与日期转换格式化函数
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 ...
拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用...
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 ...
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_...
Range分区:最为常用,基于属于一个给定连续区间的列值,把多行分配给分区。最常见的是基于时间字段. 基于分区的列最好是整型,如果日期型的可以使用函数转换为整型。varchar日期字段分区sql demo
教程名称:Mysql从入门到精通视频教程(共29集)课程目录:【】mysql视频教程mysql PPT【】第1讲 数据库概念【】第2讲 mysql入门语句【】第3讲 增删改查语句介绍【】第4讲 整型列的字节与存储范围【】第5讲 整型列的...
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版本和当前日期 select version(),current_date; 修改mysql中root的密码: shell>mysql -h localhost -u root -p //登录 mysql> update user set password=password("xueok654123") where ...
1.mysql 备份数据 2.Mysql 更新数据 3.MySQL常用操作命令 4.MySQL的数据类型和建库策略详解 5.MySQL多表操作和备份处理 6.MySQL索引分类和各自用途 7.MySQL中的字符串比较函数 ...13.在MySQL中操作日期和时间