【问题标题】:How to get a number of a row in an SQL query result set in MySQL?如何在 MySQL 中获取 SQL 查询结果集中的行数?
【发布时间】:2014-09-30 23:32:54
【问题描述】:

我需要为行号添加一列,以便用户手动调整行位置。

该表已经包含一些数据,并且有一个时间戳列,其中包含插入该行的日期和时间。

问题是如何使用时间戳排序定义的相同序列来初始化行号列,以便较早添加的记录具有较低的行号。

【问题讨论】:

  • 不确定我是否完全理解请求。我将创建一个临时表,其中包含一个自动增量列、一个时间戳列,如果时间戳有重复的条目,则为行标识符。然后,按升序插入表中的所有时间戳。现在您可以通过时间戳(和行标识符)加入以更新 yoe 新列
  • 我也想到了这个想法,@Horaciu,但我很好奇是否有更漂亮的方法。真的,是不是可以只添加一个计数器列来查询?

标签: mysql sql


【解决方案1】:

您可以尝试以下方法;

SELECT @row_number:=@row_number+1 AS row_number, timestamp FROM table, (SELECT @row_number:=0) AS t
ORDER BY timestamp;

【讨论】:

    猜你喜欢
    • 2011-05-30
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多