mysql计算排名

mysql计算排名,获取行号rowno

学生成绩表数据

SELECT * FROM table_score ORDER BY score DESC;

获取某个学生成绩排名并计算该学生和上一名学生成绩差,是并列排名

SELECT *,
(SELECT count(DISTINCT score) FROM table_score AS b WHERE a.score<b.score)+1 AS rank, #获取排名,并列
(SELECT b.score FROM table_score AS b WHERE b.score>a.score ORDER BY b.score LIMIT 1)-a.score AS subtract #获取和上一名学生成绩的差 FROM table_score AS a WHERE a.s_id = 13; #获取学生周三的成绩排名和与上一名的成绩差

获取所有学生成绩排名-并列排名

SELECT *,
(SELECT count(DISTINCT score) FROM table_score AS b WHERE a.score<b.score)+1 AS rank #获取排名-并列
FROM table_score AS a ORDER BY rank; #获取学生成绩排名

获取所有学生成绩排名,不是并列排名。计算行号进行排名

SELECT a.*,
(@rowNum:=@rowNum+1) AS rank #计算行号FROM table_score AS a,
(SELECT (@rowNum :=0) ) b
ORDER BY a.score DESC;

时间: 2024-08-23 13:12:02

mysql计算排名的相关文章

Mysql 计算时间间隔函数

#计算两个时间的间隔 #计算间隔天数 select TIMESTAMPDIFF(day,'2014-06-01',date(now())) #计算间隔月数 select TIMESTAMPDIFF(month,'2014-01-01',date(now())) #计算间隔年数 select TIMESTAMPDIFF(year,'2010-01-01',date(now()))Mysql 计算时间间隔函数,布布扣,bubuko.com

mysql计算时间差函数

MySql计算两个日期的时间差函数TIMESTAMPDIFF用法,只要用一句SQL语句就可以办到了. MySql计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)   说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD(

mysql查询排名

student_work表 student_info表 sql语句:按grade从高到低排名 结果: mysql查询排名

MySQL计算时间差

MySQL计算两个日期的时间差函数:TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval, datetime_expr1, datetime_expr2) interval取值: SECOND     秒 MINUTE     分钟HOUR         小时DAY            天MONTH     月 YEAR           年 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2之间的整数差.其结果的单位由

MySQL计算字段

计算字段 数据库中存放的表是按列存放,但是有时客户机想获得的信息是若干列之间的组合,或者求和的值.这个组合或者求和的动作可以放在客户机应用程序来做,但是在数据库中实现更为高效.这个新计算出来的结果就称为字段. 例如我们需要vend的name后面用括号说明所属国家.则可以实现如下,使用MySQL的Concat拼接函数实现拼接: 但是这仅仅是得到了一个值,没有相应的名称,客户机上的应用程序没法引用这个结果.因此使用别名来命令这个新获得的字段以供客户机应用程序调用,别名使用as 后接别名名称: 除了合

MySql计算两个日期的时间差函数

MySql计算两个日期时间的差函数: 第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND.SECOND. MINUTE. HOUR. DAY. WEEK. MONTH. QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下: SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13'); 返回结果是104,这里比较的是两个时间的天数差

MySQL实现排名并查询指定用户排名功能,并列排名功能

MySQL实现排名并查询指定用户排名功能,并列排名功能 表结构: CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT 0 COMMENT '用户id', score decimal(10, 2) DEFAULT 0.00 COMMENT '分数', PRIMARY KEY (id) ) ENGINE = INNODB AUTO_INCREMENT = 1 CHARACTER SE

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为: TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之

mysql计算经纬度亮点之间的距离

1.计算距离的公式比较长(网上查找),建一个mysql函数: delimiter $$ CREATE FUNCTION FUN_JW_DIST(lng1 double(15,9), lat1 double(15, 9), lng2 double(15,9), lat2 double(15,9)) RETURNS double(15,9) BEGIN DECLARE dist double(15, 9); SET dist = round(6378.138*2*asin(sqrt(pow(sin(