gpt4 book ai didi

mysql - 即使未找到该行,如何在搜索特定数量的行后完成我的 MySQL 提取?

转载 作者:行者123 更新时间:2023-11-29 02:43:04 24 4
gpt4 key购买 nike

我有一个超过 100k 行的 MySQL 数据库,所以我需要进行搜索以仅获取最后 1000 行,因此如果在最后 1000 行中未找到,则获取结束(即使未找到)

例子:如果我的 table 是这样的

id   name
1 AL
2 BL
...
1000 P12
1001 P15

然后我像这样获取:SELECT * FROM myTable WHERE name = 'AL' ONLY LAST 1000 ROWS ORDER BY id DESC(因为我不知道该用什么,所以我发明了 ONLY最后 1000 行)

这应该返回空,因为我希望我的查询只获取最后 1000 行的信息,而不是指定的第 1001 行。

使用 LIMIT 字段不起作用,因为它不会在未找到时限制 FOUND ROWS。

有没有办法在 MySQL 中实现这个?谢谢!

最佳答案

如评论中所述,您可以使用 OFFSET 获取最后 1000 条记录的 id,然后使用 SELECT 记录id 大于该记录的 id

像这样:

SELECT name 
FROM myTable
WHERE id > (SELECT id FROM myTable ORDER BY id DESC LIMIT 1 OFFSET 1000)
AND name = 'AL'

关于mysql - 即使未找到该行,如何在搜索特定数量的行后完成我的 MySQL 提取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47456621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com