mysql - 如何对数据进行排序,然后在mysql中对行进行编号?

标签 mysql

<分区>

有行的表格,例如:

+----+
|num |
+----+
| 6  |   
| 10 |
| 3  |
+----+

我尝试降序排序,然后对行进行编号

select num, @c:=@c+1 as c from table1 order by num desc;

但这并不是我所需要的。有没有可能得到下面的表格?

+----+----+
|num |  c |
+----+----+
| 10 |  1 |
| 6  |  2 |
| 3  |  3 |
+----+----+

最佳答案

试试这个:

SET @rownum:=0;

SELECT *
FROM (SELECT @rownum:=@rownum+1 as rownum, num
             *
      FROM (Select num from table1 order by num desc))

关于mysql - 如何对数据进行排序,然后在mysql中对行进行编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748451/

相关文章:

mysql - 如何使用 limit 和 order by 获取没有重复条目的数据

MYSQL - 在同一列中选择 2 个值

javascript - 将变量传递给 Ajax 请求客户资料详细信息

mysql - 一年中每个月的 SUM 数据

java - 配置 Springboot 以使用 2 个不同的数据库

Mysql 按 2 个日期中的最新日期订购商品

mysql - 更新后从另一个事务可见,是MySQL MVCC的bug吗?

mysql - 在左连接中使用 group_concat

MySQL 忽略连续重复项

php - 将所有 PHP 错误输出到数据库而不是 error_log