有这样一张表sal, year | salary
2001 10000
2002 10000
2003 10000
2004 10000sal表的year是char类型,记录年份,salary是int类型,记录年收入。
我想得到这样的结果:
year | salary
2001 10000
2002 20000
2003 30000
2004 40000也就是说查询结果中的salary这一项记录的是前几年的收入总和。
请问能够得到这样结果的sql语句如何写?(我用的是mysql数据库,不支持rowid和rownum)。
麻烦各位高手帮帮忙!!不胜感激!!!
2001 10000
2002 10000
2003 10000
2004 10000sal表的year是char类型,记录年份,salary是int类型,记录年收入。
我想得到这样的结果:
year | salary
2001 10000
2002 20000
2003 30000
2004 40000也就是说查询结果中的salary这一项记录的是前几年的收入总和。
请问能够得到这样结果的sql语句如何写?(我用的是mysql数据库,不支持rowid和rownum)。
麻烦各位高手帮帮忙!!不胜感激!!!
-> (
-> year int,
-> sal int
-> );
Query OK, 0 rows affected (0.14 sec)mysql> select s1.year, sum(s2.sal)
-> from salary s1, salary s2
-> where s2.year <= s1.year
-> group by s1.year;
+------+-------------+
| year | sum(s2.sal) |
+------+-------------+
| 2001 | 10000 |
| 2002 | 20000 |
| 2003 | 30000 |
| 2004 | 40000 |
+------+-------------+
4 rows in set (0.00 sec)