-- 创建表
create table sc
(
cid int,
score int
);
-- 插入数据
insert into sc values
(1,10),
(1,21),
(2,19),
(1,17),
(2,10);
-- 分组排序取序号
select r.cid,score,rank from
(select tmp.cid,tmp.score,if(tmp.cid=@tmid,@rank:=@rank+1,@rank:=1) as rank,@tmid:=tmp.cid
from (select cid,score from sc group by cid,score order by cid asc,score desc) tmp,
(select @rank:=0,@tmid:=null)tmp1
) r
where score is not null and rank <=2;
MYSQL实现 RANK函数排序功能
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、mysql: 1.1深入浅出: 数据分析的典型四步骤:确定问题(心智模型 )→分解问题→评估数据→做出决策(C...