当前位置: 代码迷 >> Oracle开发 >> 求教二个SQL面试题
  详细解决方案

求教二个SQL面试题

热度:36   发布时间:2016-04-24 07:04:47.0
求教2个SQL面试题
《1》
表数据:
2005-05-09 胜
2005-05-09 胜

2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负

要求统计日期胜负数:
显示结果如下
       胜   负
2005-05-09    2    2
2005-05-10    1    2

《2》
表数据
Year Salary
2000 1000
2001 2000
2002 3000
2003 4000

要求查询结果如下:
Year     Salary
2000     1000
2001     3000
2002     6000
2003     10000
即salary按年求总和

------解决方案--------------------
1.SELECT t_date,SUM(DECODE(flag,'胜',1)),SUM(DECODE(flag,'负',1)) FROM t GROUP BY t_date
2.SELECT year, SUM(salary) OVER(ORDER BY year) FROM t
------解决方案--------------------


第一个,考你的行转列
第二个,考你的分析函数

答案在楼上
  相关解决方案