首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql 列转行以及岁月分组

2013-10-04 
mysql 列转行以及年月分组SELECTzsubmit_date,MAX(CASE WHEN job_dept 19 THEN zcount ELSE 0 END ) 1

mysql 列转行以及年月分组

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 ) 21zcountFROM     (       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')     ) qGROUP BY     zsubmit_date

?以上是mysql的列转行。其中关键点是case when的用法,用其来完成列转行的操作。用法等同于if else

热点排行