首页 > 数据库 > MySQL > 正文

mysql列转行以及年月分组实例

2024-07-24 12:52:12
字体:
来源:转载
供稿:网友

如下所示:

SELECT count(DISTINCT(a.rect_id)) zcount, a.job_dept, DATE_FORMAT(submit_date, '%Y-%m') zsubmit_date FROM 表名 a WHERE a.statu = 3 AND a.rstatu = 2 AND a.job_dept IN ('19', '20', '21') GROUP BY a.job_dept, DATE_FORMAT(submit_date, '%Y-%m')

其中关键在于DATE_FORMAT(submit_date, '%Y-%m')对时间年月进行了分组排序

SELECT zsubmit_date, MAX(CASE WHEN job_dept = '19' THEN zcount ELSE 0 END ) 19zcount, MAX(CASE WHEN job_dept = '20' THEN zcount ELSE 0 END ) 20zcount, MAX(CASE WHEN job_dept = '21' THEN zcount ELSE 0 END ) 21zcount FROM ( SELECT count(DISTINCT(a.rect_id)) zcount, a.job_dept, DATE_FORMAT(submit_date, '%Y-%m') zsubmit_date FROM 表名 a WHERE a.statu = 3 AND a.rstatu = 2 AND a.job_dept IN ('19', '20', '21') GROUP BY a.job_dept, DATE_FORMAT(submit_date, '%Y-%m') ) q GROUP BY zsubmit_date

以上这篇mysql列转行以及年月分组实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持错新站长站。

您可能感兴趣的文章:

Mysql利用group by分组排序MYSQL每隔10分钟进行分组统计的实现方法mysql使用GROUP BY分组实现取前N条记录的方法MySQL分组查询Group By实现原理详解详解MySQL中的分组查询与连接查询语句mysql 将字段time按天/月/年分组mysql分组取每组前几条记录(排名) 附group by与order by的研究mysql获取分组后每组的最大值实例详解
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表