本帖最后由 u013604826 于 2015-01-21 20:00:50 编辑

解决方案 »

  1.   

    select a.编号,a.学号,a.课程,b.考试,b.分数-b.分数 as 分差
    from 表的结构 a, 表的结构 b
    where a.编号=b.编号-1
      

  2.   

    显示 not unique table/alias:"编号"
      

  3.   


    select b.编号,b.学号,b.课程,b.考试, (b.分数-a.分数) 分差
    from 表 a, 表 b where b.编号 = a.编号+1
      

  4.   

    #成绩表
    create table tbl_fs(
    fs_fsid int primary key auto_increment,
    fs_xuehao char(2),
    fs_kecheng varchar(8),
    fs_kaoshi varchar(10),
    fs_fenshu char(2)
    ) engine innodb character set utf8;insert into tbl_fs(fs_xuehao,fs_kecheng,fs_kaoshi,fs_fenshu) values('01','语文','第一次月考','87');
    insert into tbl_fs(fs_xuehao,fs_kecheng,fs_kaoshi,fs_fenshu) values('01','语文','第二次月考','77');
    insert into tbl_fs(fs_xuehao,fs_kecheng,fs_kaoshi,fs_fenshu) values('01','语文','第三次月考','97');
    insert into tbl_fs(fs_xuehao,fs_kecheng,fs_kaoshi,fs_fenshu) values('01','语文','第四次月考','68');
    insert into tbl_fs(fs_xuehao,fs_kecheng,fs_kaoshi,fs_fenshu) values('01','语文','第五次月考','98');版主ACMAIN_CHM的语句:select a.fs_fsid,a.fs_xuehao,a.fs_kecheng,b.fs_kaoshi,b.fs_fenshu-b.fs_fenshu as fencha from tbl_fs a, tbl_fs b where a.fs_fsid=b.fs_fsid-1;
    得到的结果
    编号   学号    课程    考试        分差
    1      01      语文    第二次月考   0
    2      01      语文    第三次月考   0
    3      01      语文    第四次月考   0
    4      01      语文    第五次月考   0benluobobo的语句:select b.fs_fsid,b.fs_xuehao,b.fs_kecheng,b.fs_kaoshi, (b.fs_fenshu-a.fs_fenshu) fencha from tbl_fs a, tbl_fs b where b.fs_fsid = a.fs_fsid+1;
    得到的结果
    编号   学号    课程    考试        分差
    1      01      语文    第二次月考   -10
    2      01      语文    第三次月考    20
    3      01      语文    第四次月考   -29
    4      01      语文    第五次月考    30
    这是我要的
      

  5.   

    SELECT *,
    (SELECT A.`fs_fenshu`-`fs_fenshu` FROM tbl_fs WHERE fs_fsid=A.fs_fsid-1) AS SS
     FROM tbl_fs A
      

  6.   

    ACMAIN_CHM版主提供的语句:select a.编号,a.学号,a.课程,b.考试,b.分数-b.分数 as 分差
    from 表的结构 a, 表的结构 b
    where a.编号=b.编号-1
    b.分数-b.分数 改为 b.分数-a.分数另外,各位写得都对。但是前提是编号必须是连续的,如果不是联系的话,那么求出的结果就不对了。我在想想看如何改进。