0

我有一组行(它实际上是过滤和排序的 mysql 表)。
我还有一组整数,例如 (5,9,12,67,2,3),我想将其用作行号。

问题:使用这些数字从该集合中获取行的更好方法是什么?

示例:我有一组 15 行。和数字(1,5,7)。我怎样才能得到第 1、第 5 和第 7 行?

4

2 回答 2

0

抱歉,我只是唱了起来,不知道回答的好习惯,所以我会试试这个:

如果您有 auto_increment 索引,请使用它?

如果不是,您可以制作任意数字,例如

SELECT @currentRow := @currentRow + 1 AS row_number, *
FROM table, (SELECT @currentRow:=0) as init 
WHERE row_number IN 1,5,7

(WHERE 出了点问题)

是的,我明白了,但@Epsiloncool 似乎做得更快。

三重选择可帮助您获得:

SELECT * FROM
(SELECT *, @currentRow := @currentRow + 1 AS row_number
  FROM table t, (SELECT @currentRow := 0) AS init) AS table
WHERE cdees.row_number IN 1,5,7
于 2013-07-28T21:15:50.817 回答
0

尝试使用此代码 select * from (SELECT *, @rowid:=@rowid+1 as rowid FROM table, (SELECT @rowid:=0) as init WHERE ... order by ...) t where t.rowid在(...一组数字...)

于 2013-07-28T21:35:15.793 回答