问答 / 0 / 6 / 创建于 3年前
如图如何统计这个字段在这个表的排名情况,有什么思路和方法吗?
zset 了解一下
如果功能比较小,没必要上redis,mysql就可以,查询自己的票数,然后查询比自己多的记录,如果已经上了redis,可以使用有序集合结构
如果就查有限的几条,就直接where("count",">",$model->count)->count()。 另外一般不要把字段命名成count order这种比较好
where("count",">",$model->count)->count()
SELECT id, count, RANK() OVER(ORDER BY count DESC) FROM A;
了解下
redis有序集合可以看一下
如果是 myql8,可以用窗口函数,其他版本就需要用存储过程,如果不想用存储过程,就多维护一个字段,存储名次。
我要举报该,理由是:
zset 了解一下
如果功能比较小,没必要上redis,mysql就可以,查询自己的票数,然后查询比自己多的记录,如果已经上了redis,可以使用有序集合结构
如果就查有限的几条,就直接
where("count",">",$model->count)->count()
。 另外一般不要把字段命名成count order这种比较好了解下
redis有序集合可以看一下
如果是 myql8,可以用窗口函数,其他版本就需要用存储过程,如果不想用存储过程,就多维护一个字段,存储名次。