求教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
------解决方案--------------------
第一个,考你的行转列
第二个,考你的分析函数
答案在楼上