从网上找了很多行转列的。基本都是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 动态行转列 MySQL 动态行转列是指将行数据转换为列数据的过程。在 MySQL 中,可以使用存储过程来实现动态行转列。下面是两个示例存储过程,演示如何使用 MySQL 实现动态行转列。 存储过程一: 该存储过程...
在本篇中,我们将深入探讨如何在MySQL中解决复杂的动态行转列问题。 首先,我们要理解行转列的基本概念。在传统的SQL查询中,我们可以使用`CASE`语句配合`GROUP BY`来实现简单的行转列转换,但这种方法往往不适用于...
下面是一个基本的行转列示例,假设我们有一个名为`sales`的表,包含`merchant_id`(商家ID),`sale_date`(销售日期)和`sold_amount`(销售额)三个字段。如果要统计每个商家2013年9月的销售额,可以这样写: ```sql ...
在MySQL数据库中,行转列和列转行是两种常见的数据转换操作,它们在数据分析和报表展示时尤其有用。下面将详细介绍这两种操作及其实例。 ### 行转列 行转列,即把原本多行的数据转换成单行,通过多个列来表示。这...
在MySQL中,日期和时间数据类型的处理是数据库操作中的常见任务。然而,有时出于特定需求,我们可能需要将日期存储为整型,比如Unix时间戳。这种情况下,我们需要掌握将整型日期转换为日期类型,以及反之转换的方法...
当需要同时考虑多个分类或维度时,如本例中的日期和商品标题,就会涉及到级联行转列。每个商品的点击量都被转为单独的列,这使得我们可以同时看到每天每个商品的点击情况。 通过以上分析,我们可以了解到在SQL中...
这行代码返回当前日期与`date_col`列中每个日期之间的天数差。 ### 2. `DAYOFWEEK(date)` `DAYOFWEEK()`函数返回指定日期是一周中的哪一天,范围从1(星期日)到7(星期六)。这是基于ODBC标准的。 示例: ```sql...
### MySQL日期比较详解 在MySQL数据库管理中,对日期时间数据进行精确且高效的处理是非常重要的。本文将基于提供的示例代码及描述,详细介绍MySQL中日期比较的方法与技巧,并结合多种日期函数的应用场景来帮助读者...
MySQL支持创建多个数据库,每个数据库包含一个或多个表,表由行和列构成,与Excel工作表类似,但具有更强大的数据结构和事务处理能力。 3. 数据转换过程 将Excel转换为MySQL通常涉及以下步骤: - 导出Excel数据:...
在MySQL数据库中,数据处理时常会遇到将列转换为行的需求,这通常涉及到行转列(Pivot)操作。在给定的实例中,我们看到了如何实现这一操作以及结合年月进行分组统计的方法。这里我们将详细解释这些知识点。 1. **...
这行代码将筛选出所有`acquisi_date`字段大于等于特定日期的记录。 ### 4. 计算两个日期之间的差值 在计算两个日期之间的差值时,Oracle提供了多种方法,包括直接相减或使用`TRUNC`函数。给定文件中的最后一段代码...
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) ...
而在MySQL中,表是由行(Rows)和列(Columns)组成的,每行数据必须符合预先定义的模式(Schema)。 要将MongoDB集合转换为MySQL的单条记录,我们需要遍历MongoDB集合中的每个文档,并将其转换为符合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 ...
有时我们需要将数据从横向排列(行格式)转换为纵向排列(列格式),反之亦然。这种转换在SQL中被称为“行列转换”,对于处理复杂的数据结构非常有用。本文将详细探讨如何在MySQL中进行这两种转换。 1. 横向转纵向...
MySQL数据库的列类型,也称为字段类型,是数据库设计中的关键元素,决定了数据的存储、处理和检索方式。这些类型大致分为数值类、字符串类和日期/时间类。以下是各类别的详细说明: **数值类数据列类型:** 1. **...
表是数据库中存储数据的基本单元,每个表由行和列组成,行表示记录,列表示数据字段。 管理MySQL: MySQL数据库的管理和优化包括创建和撤销用户权限、备份和恢复数据、维护数据库性能。MySQL提供了一系列工具和...