博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 分组后多行合并为一行
阅读量:4691 次
发布时间:2019-06-09

本文共 537 字,大约阅读时间需要 1 分钟。

工作中有需求要将如下结构的数据(为方便处理数据类型均为字符换):

ID DATE VALUE
a 2016-10-01 1
a 2016-10-02 2
a 2016-10-03 3
b 2016-10-01 3
b 2016-10-02 2
b 2016-10-03 1

 

 

 

 

 

 

 

合并为如下样式:

ID V1 V2 V3
a 1 2 3
b 3 2 1

 

 

 

 

SQL如下:

select t.id,

  max(case(t.date) when '2016-10-01' then t.value end) as v1,

  max(case(t.date) when '2016-10-02' then t.value end) as v2,

  max(case(t.date) when '2016-10-03' then t.value end) as v3

from table t

group by t.id;

----------------------------------------------------------------------

执行结果很完美!!!

 

转载于:https://www.cnblogs.com/whvit/p/5947171.html

你可能感兴趣的文章
tensorflow_python中文手册
查看>>
Vs2012在Linux应用程序开发(3):加入新平台hi3516
查看>>
memcached 分布式聚类算法
查看>>
beautifulsoup之CSS选择器
查看>>
wing ide破解
查看>>
[bzoj1430] 小猴打架
查看>>
【原】多线程编程中临界区与互斥锁的区别
查看>>
软件集成、确认和系统测试方法
查看>>
Android动态注册jni
查看>>
52.1076 排序
查看>>
54.施工方案第二季(最小生成树)
查看>>
php生成excel文件的简单方法
查看>>
面试常见问题
查看>>
关于php编写64位扩展的问题
查看>>
[FZYZOJ 1598] & [FZYZOJ 1298] 最大子树和(修剪花卉)
查看>>
关于redis数据库的简单思考
查看>>
mysql localhost与127.0.0.1以及ip连接的区别
查看>>
java第五次作业
查看>>
HNOI2003 消防局的设立
查看>>
BZOJ1055:HAOI2008玩具取名
查看>>