数据库面试题_总结(更新中)

1、表形式如下:
Year      Salary
2000        1000
2001        2000
2002        3000
2003        4000


想得到如下形式的查询结果:

Year      Salary
2000      1000
2001      3000
2002      6000
2003      10000

sql语句怎么写?
解答:(1)、字段和SUM()等一起使用时,必须把字段放在ORDER BY子句当中,不然会报错。

SELECT   b.year, SUM(a.salary) AS salary  FROM temp a, temp b WHERE a.year <= b.year GROUP BY b.year ORDER BY salary;

        (2)、把SUM()放在子查询当中。

SELECT year,(SELECT SUM(salary) FROM temp WHERE year <= a.year) AS salary FROM temp a;

         (3)、

SELECT year,sum(salary)over(ORDER BY year) FROM temp; 

 

你可能感兴趣的:(sql,面试)