首页 > 代码库 > 数据库 列 转 行
数据库 列 转 行
表
转成
代码如下:
1 SELECT YEAR 年, 2 SUM(CASE MONTH WHEN 1 THEN amount ELSE 0 END) 一月,3 SUM(CASE WHEN MONTH=2 THEN amount ELSE 0 END) 二月,4 SUM(CASE WHEN MONTH=3 THEN amount ELSE 0 END) 三月,5 SUM(DECODE(MONTH,4,amount,0)) 四月6 FROM temp_table_201307 GROUP BY YEAR
这里提供了三种方式实现:
1. CASE month WHEN 1 THEN amount ELSE 0 END
不能判断区间:当month==1的时候,值为amount,否则为0;
2. CASE WHEN month = 2 THEN amount ELSE 0 END
推荐第二种写法(这是标准写法):可以判断区间
3. DECODE (MONTH,4,AMOUNT,0)
类似三元运算符(不能判断区间):month == 4 ? amount : 0
数据库 列 转 行
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。