我有一个超过100k行的MySQL数据库,因此我需要进行搜索以获取最后1000行,因此,如果在最后1000行中找不到它(即使找不到)
示例:如果我的桌子像那样
id name
1 AL
2 BL
...
1000 P12
1001 P15
我这样做是这样的: SELECT * FROM myTable WHERE name = 'AL' ONLY LAST 1000 ROWS ORDER BY id DESC
(因为我不知道该使用什么,所以我发明了唯一的最后1000行)
这应该返回空,因为我希望我的查询仅在最后1000行上获得信息,而不是指定的1001。
。使用限制字段不起作用,因为它不会在找不到时限制所发现的行。
有没有办法在MySQL中实现此目标?谢谢!
如注释中所述,您可以使用OFFSET
获取最后一个记录的id
,然后使用SELECT
记录的CC_4记录大于该记录的id
。
类似的东西:
SELECT name
FROM myTable
WHERE id > (SELECT id FROM myTable ORDER BY id DESC LIMIT 1 OFFSET 1000)
AND name = 'AL'