【发布时间】:2021-08-28 11:17:10
【问题描述】:
PGADMIN 中的 Follow 查询什么都不给我,
SELECT MAX(time) AS MaxID
FROM table_name
where column_name like 'valu_name'
OFFSET 1000 Limit 1000
好像我在哪里运行以下查询,它给我输出
SELECT MAX(time) AS MaxID
FROM table_name
where column_name like 'valu_name'
但是为什么呢?为什么MAX 函数不能与OFFSET 和LIMIT 一起使用?
正确的做法是什么?
用例是获取 2000 到 3000 之间的行的最大时间戳,这就是我使用 OFFSET 和 LIMIT 的原因,From to To 行可能会改变!!
【问题讨论】:
-
那是因为该查询只返回一个值,所以从 1000 到 2000 的行没有意义(它们不存在)
-
SELECT MAX(time) AS MaxID FROM table_name只返回一行一列,所以显然offset 1000没有返回任何内容 -
用例是获取 2000 到 3000 之间的行的最大时间戳,这就是我使用 OFFSET 和 LIMIT 的原因,从到行可能会改变!!
-
@a_horse_with_no_name 你能给我一个更好的主意吗?
-
Logical query processing - 最后应用 OFFSET-FETCH。其次,没有明确的
ORDER BY整个查询是underetministic(表是无序集)
标签: sql postgresql limit sql-max