rpct.net
当前位置:首页 >> 怎么写一个sql语句来显示排名 >>

怎么写一个sql语句来显示排名

用row_number不行的,2个100分会排名成1和2 select *,rank() over(order by chengji desc) paiming from stu

select * from test(这里是表名字) order by id(这里是根据什么排) desc(desc是降序的意思) limit 0,10; (第零个开始 往后搜索十个) 根据降序一排就出来了 括号内是解释

select a.姓名,(@rowNum:=@rowNum+1) as 名次from 表名 a,(Select (@rowNum :=0) ) border by 积分 DESC,注册时间

1.选择最有效率的表名顺序(只在基于规则的优化器中有效): ORALCE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作...

数据没弄你那么麻烦,找葫芦画瓢写一个吧,看样子是mysql的 create table ts(name varchar(10),maodun_score int,harm_score int);insert into ts values ('方案1',7,8);insert into ts values ('方案2',10,5);insert into ts values ('方案3',4...

那就统计“完成时间”在“张三”的“完成时间”之前的记录个数: select count([完成时间]) from [数据表] where [完成时间] < (select [完成时间] from [数据表] where [姓名] = ‘张三')

select row_number over( order by a.分数 desc) as 名次,a.学生id,a.分数 from 成绩表 a order by a.分数 desc 这样就可以了,把相应字段和表替换下

无论sqlserver 还是 oracle 用 rank() 或者 dens_rank() 函数。 select name,score,rank() over(order by score) tt from t; 如果有并列的话 . 他们后边的排序会变成这样的。 根据你的需求选用。 1 2 2 4 select name,score, dens_rank() over(o...

select grade,row_number()over(partition by class order by grade desc) mm from 成绩表 where 班级=6 and mm=10

select * from otim where sheetid in(1,2,3)

网站首页 | 网站地图
All rights reserved Powered by www.rpct.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com