如何取得SQL查询结果的记录号(50分)

  • 主题发起人 主题发起人 dluming
  • 开始时间 开始时间
D

dluming

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我有一个学生成绩表,查出当月语文的成绩,要排名次.按分数排序后,
最高分是第一条记录,只要得这条记录的序号,也就得到了它的名次,
sql语句里有没有这样的函数?要是没有,该怎么实现呢?
 
当然有啦
oracle 里是RowNum
 
从SQL语言本身来说,是不存在记录号概念的。不过你可以用查询结果集的行号代替记录
号。比如,从cursor中fetch数据时,用一个循环计数器表示。
 
什么数据库,如果是paradox之类的可以使用dataset.recno.
 
并列呢?
 
select IDENTITY(integer,1,1),X,Y into #tmp from a where ....
select * from #tmp
 
1。取得
a.dataset.recno
b.Var tmp成绩:=fields成绩
2。dataset.prior
while 成绩=tmp成绩 do
begin
排名:=dataset.recno-1;//如果成绩相同
tmp成绩:=fields成绩
dataset.prior
end;
 
后退
顶部