mysql - 使用 ORDER BY 对行进行编号

标签 mysql sql

SELECT @row := @row + 1 AS row, t.*
FROM some_table t, (SELECT @row := 0) r
ORDER BY t.title

我想计算表中的行,并使用 ORDER BY 对其进行排序。

当我使用ORDER BY时,由于ORDER BY,用户变量@row不是1,2,3。 如何使用 ORDER BY 选择行并具有正确的编号?

最佳答案

SELECT @rank:=@rank+1 rank FROM some_table t, (SELECT @rank:=0) r order by @rank

按任何其他字段排序

SELECT @rank:=@rank+1 rank FROM some_table t, (SELECT @rank:=0) r order by id desc

关于mysql - 使用 ORDER BY 对行进行编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399794/

相关文章:

mysql - 忽略基于 where 子句的列

mysql - 如何创建一个表作为另一个表的副本并替换一个语句中列的值

PHP MySql 一个 php 文件中的多个选择查询

SQL Server : Using binary_checksum column on a table best practice

mysql - MySQL 中何时使用单引号、双引号和反引号

c# - 需要与 Microsoft.SqlServer.Management.Smo Transfer 类连接的帮助

mysql - 如何使用代码点火器格式的以下简单查询?

mysql - SQL-使用一个元组中的值从另一个元组中获取值

Mysql 按月区分日期

mysql - 如果一堆列满足某些条件而 GROUP BY 两次,如何不进行计数?