求一条行转列的sql语句

jkil216633 2011-12-01 11:32:55
遇到一个问题,来请教大家,我用oracle联表查询做统计,出来的结果是这样的
code state count(state)
3310 on 13
3310 off 2
我现在想把这个结果转换成一列,像下面这样
code on off
3310 13 2
不知道有没有办法做到,知道的大哥帮忙说下,万分感谢啊
...全文
37 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cosio 2011-12-01
  • 打赏
  • 举报
回复
select code,
max(case when state ='on' then count else 0 end) on,
max(case when state ='off' then count else 0 end) off
from 表
group by code

select code,
max(decode(state,'on',count,0)) on,
max(decode(state,'off',count,0)) off
from 表
group by code
cosio 2011-12-01
  • 打赏
  • 举报
回复
太多例子了!

max+case when
jkil216633 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cosio 的回复:]

SQL code
select code,
max(case when state ='on' then count else 0 end) on,
max(case when state ='off' then count else 0 end) off
from 表
group by code

select code,
max(decode(state,'on',count……
[/Quote]
非常感谢,谢谢哈

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧