0

我在看这里,但找不到我的问题的答案。

需要从 MySQL 获取对象列表,例如:

+-----------------------------+
+ id | username | password    +
+-----------------------------+
+  1 | User1                  +
+  2 | User2                  +
+  5 | User3                  +
+  9 | User4                  +
+ 11 | User5                  +
+ 18 | User6                  +
+ .....                       +
+ 25 | User10                 +
+-----------------------------+

并计算每个项目的位置,不是id,而是项目此时所在的位置,所有这些都带有分页,例如:

Page 1
1, User1, id1
2, User2, id2
3, User3, id5

Page 2
4, User4, id9
5, User5, id11
6, User6, id18

Page 3
...

我知道他必须在每次更改页面时计算页面列表中每个项目的位置,但不知道如何在 MySQL 中执行此操作。

如果有人能帮助我提供建议,我将不胜感激。谢谢

4

2 回答 2

2

您可以通过在 SELECT 请求中定义一个变量来实现这一点

SET @i=0;
SELECT id, username, password, @i:=@i+1 AS i FROM my_table ORDER BY id;
于 2012-10-30T09:28:44.660 回答
-1

通过在选择查询期间使用变量,您可以获得行位置。这是在我的数据库上工作。你可以用这个。

set @i = 0;
SELECT id, firstname, lastname, title, @i := @i +1 as i FROM employee ORDER BY id
于 2012-10-30T10:17:16.033 回答