laravel如何统计分数排名,获取当前自己的第几名?

laravel如何统计分数排名,获取当前自己的第几名?
如图如何统计这个字段在这个表的排名情况,有什么思路和方法吗?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

zset 了解一下

3年前 评论

如果功能比较小,没必要上 redis,mysql 就可以,查询自己的票数,然后查询比自己多的记录,如果已经上了 redis,可以使用有序集合结构

3年前 评论

如果就查有限的几条,就直接 where("count",">",$model->count)->count()。 另外一般不要把字段命名成 count order 这种比较好

3年前 评论
66
SELECT id, count,
RANK() OVER(ORDER BY count DESC)
FROM A;

了解下

3年前 评论
Vicoo 3年前

redis 有序集合可以看一下

3年前 评论

如果是 myql8,可以用窗口函数,其他版本就需要用存储过程,如果不想用存储过程,就多维护一个字段,存储名次。

3年前 评论