从 table 获取 mysql 中的最后 100 行
From a table get the last 100 rows in mysql
我想检索最后 100 个值,我使用了这个查询:
SELECT * FROM values WHERE ID BETWEEN max(ID)-100 and max(ID);
但我收到了这条消息:
ERROR 1111 (HY000): Invalid use of group function
按ID降序排列,只取结果的前100条记录
SELECT * FROM values
order by id desc
limit 100
这是更可靠的版本,因为 ID 序列中可能存在间隙,这会使您的查询不准确(除了语法错误之外)。
你的问题不是很清楚
什么是最后 100 个值?插入最后 100 个 ID?或者更新了最后 100 行?
假设您要查找插入的最后 100 个 roes,则您的方法有问题。首先要知道 ID 不是按顺序提交给 DB 的。
例如,有时某行的 ID 可以是 5,稍后插入的行的 ID 可以是 4。这是如何发生的超出了范围,但只知道这是可能的。
即将解决
就做
SELECT TOP 100 * from VALUES ORDER BY ID DESC
我想检索最后 100 个值,我使用了这个查询:
SELECT * FROM values WHERE ID BETWEEN max(ID)-100 and max(ID);
但我收到了这条消息:
ERROR 1111 (HY000): Invalid use of group function
按ID降序排列,只取结果的前100条记录
SELECT * FROM values
order by id desc
limit 100
这是更可靠的版本,因为 ID 序列中可能存在间隙,这会使您的查询不准确(除了语法错误之外)。
你的问题不是很清楚 什么是最后 100 个值?插入最后 100 个 ID?或者更新了最后 100 行? 假设您要查找插入的最后 100 个 roes,则您的方法有问题。首先要知道 ID 不是按顺序提交给 DB 的。 例如,有时某行的 ID 可以是 5,稍后插入的行的 ID 可以是 4。这是如何发生的超出了范围,但只知道这是可能的。
即将解决 就做
SELECT TOP 100 * from VALUES ORDER BY ID DESC