一道SQL面试题
2014-03-22 10:17
274 查看
怎么把这样一个表
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成这样一个结果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
答案:
select year,
(select amount from aaa m where month=1 and m.year=aaa.year) as m1,
(select amount from aaa m where month=2 and m.year=aaa.year) as m2,
(select amount from aaa m where month=3 and m.year=aaa.year) as m3,
(select amount from aaa m where month=4 and m.year=aaa.year) as m4
from aaa group by year
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成这样一个结果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
答案:
select year,
(select amount from aaa m where month=1 and m.year=aaa.year) as m1,
(select amount from aaa m where month=2 and m.year=aaa.year) as m2,
(select amount from aaa m where month=3 and m.year=aaa.year) as m3,
(select amount from aaa m where month=4 and m.year=aaa.year) as m4
from aaa group by year
相关文章推荐
- 一道sql面试题
- 一道经典的sql面试题
- 一道sql面试题附答案
- 一道sql面试题的解答
- 一道经典的sql面试题!认为自己sql玩得挺转的进来!
- 一道SQL面试题(行列互换)
- 一道面试题引发的数据库SQL语句实践(含行列转换)
- 汽车之家一道SQL 面试题,大家闲来无事都来敲一敲
- 一道易错的SQL面试题
- 开始学习SQL了,请高手回答帮一下小菜鸟,一道面试题
- 一道 SQL 面试题
- 一道sql面试题吧
- 一道面试题:请写sql查询出,成绩小于60的同学的姓名和平均分,并按平均分排序
- [置顶] 一道经典的sql面试题不同的写法
- 一道经典的SQL面试题
- 一道SQL面试题(行列互换)
- 一道SQL面试题
- 关于一道sql的面试题 (非常精典) (转)
- 一道递增的sql面试题
- 由一个博问学到的SQL查询方法 (一道多对多关系查询的面试题)