这是我的序列号表的精简副本。
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
最佳答案
你需要 1. 选择最后 2 个序列号。 2.选择这个号码的最后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
关于mysql - 返回序列号列表的 3 个最近记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375255/