mysql - 反转分组查询的序列号

标签 mysql

以下查询根据用户投票的次数来排序投票...我想知道特定用户队列中的#。

SELECT @s:=@s+1 serial_number, user_id, COUNT(slug_owner) as cnt 
FROM `votes_queue`,(SELECT @s:= 0) AS s 
GROUP BY slug_owner
ORDER BY cnt DESC 

serial_number | user_id | cnt 
3 | 19 | 8
2 | 14 | 4
1 | 13 | 2

基本上我需要反转 serial_number 列中的数字,这样我就可以根据投票判断用户 13 是#3 ..

最佳答案

生成有序计数后分配序列号:

SELECT @s:=@s+1 serial_number, temp.*
FROM (
    SELECT user_id, COUNT(slug_owner) as cnt 
    FROM `votes_queue`,
    GROUP BY slug_owner
    ORDER BY cnt DESC
) temp, (SELECT @s:= 0) AS s

关于mysql - 反转分组查询的序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32927170/

相关文章:

mysql - 针对每条记录添加一个单选按钮

Mysql排序分割字符串

android - 如何显示不同的记录,我想检查: if blueid is already present in the table show that data only once with particular date

mysql - 用于查找相似行 id 的行查询

mysql 查询连接两个表

mysql - 即使没有该时间的条目,仍然显示正确的时间集

c++ - 连接器/C++ 编译错误

mysql - 按日期 ASC 排序,但组内按 DESC 排序

mysql - 选择具有一个或多个用户角色的导航项

出租车服务的 MySQL 数据库设计,需要建议