mysql行转列小例子

@luke  June 26, 2018

如题:

  • table1业绩表
dep_idmonperformance
1一月份100
2一月份180
3一月份110
1二月份300
2二月份200
3二月份150
  • table2组别表
iddep_name
1一组
2二组
3三组
  • 编写sql得到如下的数据
组别一月份二月份
一组100300
二组180200
三组110150
SELECT
    t2.dep_name as '组别',
    SUM(
        CASE t1.mon
        WHEN '一月份' THEN
            t1.yj
        ELSE
            0
        END
    ) AS '一月份',
    SUM(
        CASE t1.mon
        WHEN '二月份' THEN
            t1.yj
        ELSE
            0
        END
    ) AS '二月份'
FROM
    `table1` t1
JOIN table2 t2 ON t1.dep_id = t2.id
GROUP BY
    t2.dep_name;

添加新评论