【发布时间】:2017-05-10 03:03:58
【问题描述】:
我是 mysql 查询的新手,我一直在获取查询。基本上,我希望日期以水平方式(列)分组为年和月(17 年 1 月,2017 年 2 月...),如下图所示。
数据如下图所示:
请帮助创建查询。
【问题讨论】:
-
认真考虑处理应用代码中数据显示的问题
标签: mysql
我是 mysql 查询的新手,我一直在获取查询。基本上,我希望日期以水平方式(列)分组为年和月(17 年 1 月,2017 年 2 月...),如下图所示。
数据如下图所示:
请帮助创建查询。
【问题讨论】:
标签: mysql
您可以进行条件聚合 - 每个 login_id 一次,然后整体然后合并两个结果。
Select login_idindex,
Sum(date_format(visitdate, '%Y%m') = '201701' ) as jan_17,
Sum(date_format(visitdate, '%Y%m') = '201702' ) as feb_17,
. . .,
Count(*) as total
From your_table
Where visitdate between ? and ?
Group by login_idindex
Union all
Select null,
Sum(date_format(visitdate, '%Y%m') = '201701' ) as jan_17,
Sum(date_format(visitdate, '%Y%m') = '201702' ) as feb_17,
. . .,
Count(*) as total
From your_table
Where visitdate between ? and ?;
将? 替换为实际日期,或者如果您正在处理所有日期,则删除 where 子句。
【讨论】: