2014-09-30 65 views
-1

我需要为行号添加一列以让用户手动调整行位置。如何获取MySQL中的SQL查询结果集中的行数?

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

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

+0

不知道我是否完全理解了请求。我会创建一个临时表,它具有一个自动增量列,一个时间戳列,并且如果时间戳具有重复条目的行标识符。然后,按升序从表格中插入所有时间戳。现在,您可以通过时间戳(和行标识符)加入更新yoe新列 – Horaciux 2014-09-30 23:54:57

+0

@Horaciu也出现了这个想法,但我很好奇,如果有更漂亮的方法。真的,仅仅添加一个计数器列来查询是不可能的? – Ivan 2014-09-30 23:58:34

+0

http://stackoverflow.com/questions/4829400/adding-id-auto-increment-after-table-exist – Horaciux 2014-10-01 00:06:53

回答

0

你可以试试以下;

SELECT @row_number:[email protected]_number+1 AS row_number, timestamp FROM table, (SELECT @row_number:=0) AS t 
ORDER BY timestamp;