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

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

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

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

SQL语句算排名的问题 复杂语句的排名,要增加一个字段来显示顺序(排名)。如果是sqlserver2005及以后的版本,可以用ROW_NUMBER() over (order by 字段)这样。NTILE 也可以实现排名。 你这个写的语句,可以排序,但没有顺序号(排名)。

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

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

不知道你用的什么数据库,不同数据库的分页语法不一样

select ID,用户,sum(收入) as 收入总和 from 表 group by ID,用户 order by sum(收入)

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

Mysql 示例: 1. 创建t_student表 CREATE TABLE `t_student` (`id` int NOT NULL AUTO_INCREMENT , -- 自增ID`studentID` varchar(20) NULL , -- 学号`studentName` varchar(20) NULL , -- 姓名`subject` varchar(50) NULL , -- 科目`score` dou...

只会分组不过滤过条件的孩子你伤不起! group by是一个子句,实际还有一个条件就是我们常称的滤过条件,也就是什么条件下的允许分组。如果是分组依据的,则必须使用having,也就是说having是滤过条件,很多书上告诉你having子句类似于where但必...

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