一条简单的语句oracle语句 表T姓名 分数 张三 75李四 62 王五 85赵六 78通过select 语句返回名次 姓名 分数1 王五 852 赵六 783 张三 754 李四 62 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自答 select rownum,姓名,分数 from T order by 分数 select rownum '名次‘,姓名,分数 from T order by 分数 desc select rownum, name,grade from(select name,grade from test order by grade desc) 这个更精确些:select rownum "名次", name,grade from(select name,grade from test order by grade desc) 多种数据库比较通用的写法:select *from (select (select count(*)+1 from T b where a.分数<>b.分数 and b.分数<=a.分数) [名次], 姓名,分数from T a) bborder by [名次] asc select ROW_NUMBER() OVER (ORDER BY 分数 desc),姓名,分数 from Table select rownum as 名次, 姓名,分数 from (select rownum , 姓名,分数 from table order by 分数 desc) select ROW_NUMBER() OVER (ORDER BY 分数 desc),姓名,分数 from Table这个用dense_rank()分析函数更好一些,同样分数可以并列排名。 background 转储区的使用率是 97%。 UTL_HTTP包的正确执行需要什么前提?UTL_HTTP.BEGIN_REQUEST时总是异常 oracle存储过程中游标的问题 关于Oracle 分区表与其他表关联时的疑问 oralce index 不能启动安装界面,提示DISPLAY参数不对,在线等 求一个sql语句 link连接问题 oracle的作业在linux中为什么只提交不执行? oracle的de 的地址符&在sql中的用法 请教一个简单问题,oracle里有没有show 表内容显示成一行.
select rownum,姓名,分数 from T order by 分数
select rownum "名次", name,grade from(select name,grade from test order by grade desc)
select *
from
(
select (select count(*)+1 from T b where a.分数<>b.分数 and b.分数<=a.分数) [名次],
姓名,分数
from T a
) bb
order by [名次] asc
这个用dense_rank()分析函数更好一些,同样分数可以并列排名。