欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

关于mysql排序的问题实例解析_MySQL

程序员文章站 2024-02-15 23:14:11
...
bitsCN.com
关于mysql排序的问题实例解析 今天面试一家公司, 问了一个关于取出分数排名的问题:如表结构如下:namescorezhang50wang30li80wu20 要求按score输出排名。这个问题我以前做过的, 要求在纸上写出来,我说有个电脑一下就出来了...(要求在纸上写sql 真坑爹啊)于是回家后不到一分钟在电脑上就写出来了 ..., 备忘如下:
SELECT @i:=@i+1 ,name,score FROM `tb`, (select @i:=0) as i ORDER BY score desc; 结果输出 @i:=@i+1 name score1 li 802 zhang 503 wang 304 wu 20 ====================================================让别人在纸张上写程序, 只能发挥一半的功力啊, 面试者要反思啊。。。=================补充分割线=====================
此题的另外一个解法:set @i:=0; select if(ISNULL(@i),@i:=1,@i:=@i+1) , name, score from tb order by score desc ;
需两条sql,第一条把@i 重置为0(不重置的话,下次运行时@i会用上一次的结果), 第二条再取排名
看实际应用了。。。
作者 spamer bitsCN.com
相关标签: mysql