1

我有一个复杂的 MYSQL 查询,我从多个数据源运行,可以根据请求进行排序(所以记录 id 没有多大帮助)。

我想在每次运行查询时在数据完成时添加一个唯一 ID 列,以便我可以启用数据的分页功能。

如果我在数据库级别执行此操作,我可以使用id INTEGER AUTO_INCREMENT,但这是关于每次运行查询时动态添加。

4

1 回答 1

4

你可以这样做:

SELECT
  *, (@rownum := @rownum + 1) rank
FROM YourcomplexQuery, (SELECT @rownum := 0) t;

但是,您可以使用 MySQL 内置函数LIMIT

SELECT --
FROM Yourtable
ORDER BY SomeField
LIMIt 0, n;
于 2012-12-14T14:00:00.677 回答