我有一组行(实际上是过滤和排序的mysql表) 我也有一组整数,如(5,9,12,67,2,3),我想用作行号。
问题:使用这些数字从这个集合中获取行的更好方法是什么?
示例:我有一组15行。和数字(1,5,7)。我如何获得第1行,第5行和第7行?
答案 0 :(得分:0)
抱歉,我只是犯了罪,不知道回答的好习惯,所以我会试试这个:
如果你有auto_increment index使用那个?
如果没有,你可以像
一样制作任意数字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
答案 1 :(得分:0)
尝试使用此代码 select * from(SELECT *,@ wingid:= @ rowid + 1 as rowid FROM table,(SELECT @rowid:= 0)as init WHERE ... order by ...)t其中t.rowid in(...一组数字......)