Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个复杂的 MYSQL 查询,我从多个数据源运行,可以根据请求进行排序(所以记录 id 没有多大帮助)。
我想在每次运行查询时在数据完成时添加一个唯一 ID 列,以便我可以启用数据的分页功能。
如果我在数据库级别执行此操作,我可以使用id INTEGER AUTO_INCREMENT,但这是关于每次运行查询时动态添加。
id INTEGER AUTO_INCREMENT
你可以这样做:
SELECT *, (@rownum := @rownum + 1) rank FROM YourcomplexQuery, (SELECT @rownum := 0) t;
但是,您可以使用 MySQL 内置函数LIMIT:
LIMIT
SELECT -- FROM Yourtable ORDER BY SomeField LIMIt 0, n;