【发布时间】:2017-10-16 02:43:36
【问题描述】:
我正在尝试使用一些限制和偏移量以及一些 WHERE 子句来查询数据库。我还需要与WHERE 子句匹配的总行数。
我在 PostgreSQL 中使用过这样的“count OVER”:
SELECT
user_id,
created_on,
COUNT(user_id) OVER() AS full_count
FROM
user_info
WHERE
user_info.user_id = ANY(unlocked_ids)
ORDER BY
created_on DESC
LIMIT p_limit OFFSET p_offset
现在它返回与最后一列中的 WHERE 子句匹配的行数。当偏移量太大时,它会按预期返回空表。但我一直需要匹配行数,即使偏移量太高。
目前我尝试的解决方案是使用 LIMIT 1 和偏移量 0 进行另一个查询,如果存在与 WHERE 子句匹配的内容,它将始终返回一个结果。但是是否可以在没有额外查询的情况下做到这一点?
【问题讨论】:
标签: sql postgresql