You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条SQL查询PostgreSQL评论及回复并支持SKIP/OFFSET分页

解决方案

你可以用UNION ALL合并两张表对齐后的数据,再排序分页即可,SQL写法如下:

SELECT 
  id, 
  comment, 
  date_created
FROM comment

UNION ALL

SELECT 
  commentid AS id, 
  content AS comment, 
  date_created
FROM comment_reply

-- 排序规则保证同一条评论的主内容和所有回复聚合,且按创建时间正序排列
ORDER BY 
  id ASC, 
  date_created ASC

-- 分页参数:LIMIT填每页展示条数,OFFSET填需要跳过的条数
LIMIT 10 OFFSET 0;

说明

  • 用UNION ALL而非UNION是因为该业务场景不存在重复数据,不需要额外去重逻辑,查询性能更高
  • 合并结果集时已经对齐了字段类型和别名,返回结构和你要求的预期结果完全匹配
  • 排序规则可根据业务需求调整,如果要回复倒序展示,把date_created ASC改成date_created DESC即可
  • PostgreSQL支持两种分页写法,除了上面的LIMIT/OFFSET,也可以用标准SQL写法OFFSET x ROWS FETCH NEXT y ROWS ONLY,效果完全一致

内容的提问来源于stack exchange,提问作者Em Ha Tuan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 10:27:02