您当前的位置: 首页 >  sql

杨林伟

暂无认证

  • 2浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL实现简单排名

杨林伟 发布时间:2020-10-16 14:59:53 ,浏览量:2

01 基础知识
  • sql语句中,使用@来定义一个变量。如:@abc

  • sql语句中,使用:=来给变量赋值,:@abc:=123,则变量abc的值为123

  • sql语句中,if(A,B,C)表示,如果A条件成立,那么执行B,否则执行C,如:@abc := if(2>1,100,200)的结果是,abc的值为100。

  • sql语句中,还有case…when…then

02 排名例子
SELECT
	city_popularity.*,
	CASE 
		WHEN @popularity = popularity THEN @rank
		WHEN @popularity := popularity THEN @rank := @rank + 1
		WHEN @popularity = 0 THEN @rank := @rank + 1
	END AS rank
FROM
	city_popularity,
	(SELECT @rank := 0, @popularity := NULL) init
ORDER BY
	popularity DESC;

查询结果: 在这里插入图片描述

参考博客:

  • https://blog.csdn.net/justry_deng/article/details/80597916
  • https://www.cnblogs.com/sweetttcareer/p/11959137.html
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.0740s