最近在练习sql,但是用的是Access,
数据表是这样的: --1.学生表 Student(SId,Sname,Sage,Ssex)
--SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
--2.课程表 Course(CId,Cname,TId) --CId --课程编号,Cname 课程名称,TId 教师编号
--3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名
--4.成绩表 SC(SId,CId,score) --SId 学生编号,CId 课程编号,score 分数
问题是:按各科成绩进行排序,并显示排名, Score 重复时保留名次空缺?
针对这个问题:
我搜到的答案是:
select sc.CId ,@curRank:=@curRank+1 as rank,sc.score
from (select @curRank:=0) as t ,sc
ORDER BY sc.score desc
但是这个答案是在mysql的环境下,当我在Access中跑这段sql语句的时候,报了如下的错误:
我认为这可能是mysql和Access之间的一些差异导致的,但是又不知道问题具体出在哪里?求高人指点!!!