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

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; 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值