这是我的序列号表格的精简副本。
id serial number
---------------------------
1064 1012507994
1065 1012507994
1067 1019527101
1436 1012507994
1437 1012507994
1438 1012507994
1439 1012507994
1464 1019527101
1465 1019527101每次我向这个表中添加新的记录时,id都会递增。我希望能够传入一个serial_numbers列表,并获得我传入的每个序列号的最后3个id。我知道如何返回一个序列号的最后3个id,但我不知道现在如何获取序列号列表的最后3个id。
例如:我想获取序列号为(12507994,19527101)的最后(最近)3条记录,结果应该是
1439 12507994
1438 12507994
1437 12507994
1067 19527101
1464 19527101
1465 19527101发布于 2014-10-15 16:14:35
您需要1。请选择最后2个序列号。2. SElect此数字的最后3条记录
SELECT *
FROM you_table
WHERE SERIAL number IN
(SELECT serial_number FROM you_table ORDER BY id DESC LIMIT 1, 1)
LIMIT 0, 3
UNION
SELECT *
FROM you_table
WHERE SERIAL number IN
(SELECT serial_number FROM you_table ORDER BY id DESC LIMIT 0, 1)
LIMIT 0, 3 发布于 2014-10-15 14:03:59
最简单的方法是使用UNION:
SELECT * FROM your_table WHERE serial_number = '12507994' ORDER BY id DESC LIMIT 0,3
UNION
SELECT * FROM your_table WHERE serial_number = '19527101' ORDER BY id DESC LIMIT 0,3https://stackoverflow.com/questions/26375255
复制相似问题