mysql 排名】的更多相关文章

一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p=score THEN @r END rank ,@p:=NULL)r ORDER BY score; /*并列排名:相同的值名次相同,与上例中的并列排名不同*/ SELECT city,score,rank FROM ( SELECT cs.*, @c:=IF(@p=score,@c,@r) AS…
select actor_id,@curr_cnt:=cnt as cnt , ,@rank) as rank, @prev_cnt:=@curr_cnt as dummy from( select actor_id,count(*) as cnt from film_actor group by actor_id ORDER BY cnt desc ) as der, (,, ) as t -- 实际上相当于赋值操作 -- 排名,考虑并列情况 AS rownum,IF(@total = cnt…
select actor_id,@curr_cnt:=cnt as cnt , ,@rank) as rank, @prev_cnt:=@curr_cnt as dummy from( select actor_id,count(*) as cnt from film_actor group by actor_id ORDER BY cnt desc ) as der, (,, ) as t -- 实际上相当于赋值操作 -- 排名,考虑并列情况 AS rownum,IF(@total = cnt…
1.新建一张成绩表 -- 新建成绩表 CREATE TABLE IF NOT EXISTS `score` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL DEFAULT '', `scores` ) ', PRIMARY KEY (`id`) ) ENGINE ; -- 插入学生成绩 INSERT INTO `score` (`id`, `name`, `scores`) VALUES (, ), (, ), (, ), (, ), (,…
一.sql1{不管数据相同与否,排名依次排序(1,2,3,4,5,6,7.....)} SELECT obj. AS rownum FROM ( SELECT user_id, score FROM `sql_rank` ORDER BY score DESC ) AS obj, () r 结果如下 可以看到,现在按照分数从1到9都排好序了,但是有些分数相同的用户排名却不一样,这就是接下来要说的第二种sql 二.sql2{只要数据有相同的排名就一样,排名依次排序(1,2,2,3,3,4,5...…
一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p=score THEN @r END rank ,@p:=NULL)r ORDER BY score; /*并列排名:相同的值名次相同,与上例中的并列排名不同*/ SELECT city,score,rank FROM ( SELECT cs.*, @c:=IF(@p=score,@c,@r) AS…
原文地址: http://www.cnblogs.com/songshuai/p/5688550.html http://blog.csdn.net/u010503822/article/details/52538028…
关于mysql成绩排名,网上大部分只是order by简单排序,忽略了成绩相同并列名次的问题. 定义了一个表score结构为:…
sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序asc,设置好排序的变量(初始值为0): a>.将已经排序好的数据从第一条依次取出来,取一条就自增加一,实现从1到最后的一个排名 b>.当出现相同的数据时,排名保持不变,此时则需要再设置一个变量,用来记录上一条数据的值,跟当前数据的值进行对比,如果相同,则排名不变,不相同则排名自增加1 c.当出现…
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名效果. 在这里我用一个简单例子来实现排名的查询: 首先我们先创建一个我们需要进行高级排名查询的players表, CREATE TABLE `players` ( `pid` int(2) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `…