有这样一张表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)。
麻烦各位高手帮帮忙!!不胜感激!!!

解决方案 »

  1.   

    mysql> create table salary
        -> (
        -> 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)