mysql - 返回序列号列表的 3 个最近记录

标签 mysql

这是我的序列号表的精简副本。

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/

相关文章:

python - pandas 将 mysql utf-8 转换为 ascii

python - pip 的 mysql-python 和 apt-get 的 python-mysqldb 的区别

mysql - Configuration failed because libmysqlclient was not found.解决方法是什么?

php - 如何阻止数据库数据破坏 HTML 页面?

PHP mySQL 表比较两列

mysql - 如何获取查询的所有标签?

mysql - 根据业务 X 周和 X 计数后,录音标记为删除

php - html表单转mysql数据库

mysql - 连接和 SUM() 的问题

mysql - 复合键是否比常规 ID 更好作为多个列上的键和唯一索引?