oracle中求一sql

快跑蜗牛哥 2010-01-06 02:01:01
已知表GLUE,其中YMONTH的值是年月, Y_WEEK的值只能是1、2、3、4、5

W_ID W_PRICE YMONTH Y_WEEK
1 1.1 200901 1
2 1.2 200901 2
3 1.3 200901 3
4 1.4 200902 1
5 1.5 200903 2
6 1.6 200905 1
7 1.7 200905 3
8 1.8 200906 1
9 1.9 200907 4
10 1.10 200908 4
11 1.1 1 200909 4
12 1.12 200910 3
13 1.13 200911 5
14 1.14 200911 5
现要得到如下数据:()
年月/周 1 2 3 4 5 6 7 8 9 10 11 12-----> YMONTH
1
2 得到的值是w_price
3
4
5
Y_WEEK
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
maitianhust 2010-01-06
  • 打赏
  • 举报
回复
UP,行转列很常见的,用CASE WHEN 或DECODE子句。
[Quote=引用 1 楼 wildwave 的回复:]
行转列
select y_week,
  sum(decode(YMONTH,'200901',w_price))"200901",
  sum(decode(YMONTH,'200902',w_price))"200902",
....
from GLUE
group by y_week

动态的话参照
http://topic.csdn.net/u/20091019/11/67cd55a3-3f42-4db7-a3f8-91dd52a913cd.html
max改成sum
[/Quote]
crazylaa 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wildwave 的回复:]
行转列
select y_week,
  sum(decode(YMONTH,'200901',w_price))"200901",
  sum(decode(YMONTH,'200902',w_price))"200902",
....
from GLUE
group by y_week

动态的话参照
http://topic.csdn.net/u/20091019/11/67cd55a3-3f42-4db7-a3f8-91dd52a913cd.html
max改成sum
[/Quote].
lovelrforever 2010-01-06
  • 打赏
  • 举报
回复
得到的结果中的YMONTH年份怎么不见了
notebook800 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wildwave 的回复:]
行转列
select y_week,
  sum(decode(YMONTH,'200901',w_price))"200901",
  sum(decode(YMONTH,'200902',w_price))"200902",
....
from GLUE
group by y_week

动态的话参照
http://topic.csdn.net/u/20091019/11/67cd55a3-3f42-4db7-a3f8-91dd52a913cd.html
max改成sum
[/Quote]

行转列
小灰狼W 2010-01-06
  • 打赏
  • 举报
回复
行转列
select y_week,
sum(decode(YMONTH,'200901',w_price))"200901",
sum(decode(YMONTH,'200902',w_price))"200902",
....
from GLUE
group by y_week

动态的话参照
http://topic.csdn.net/u/20091019/11/67cd55a3-3f42-4db7-a3f8-91dd52a913cd.html
max改成sum

17,082

社区成员

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

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