数据库多条件查找如何使用limit和offset来处理分页?

表结构中一部分如下:

  total numeric(20,2), -- 统计金额
  date character varying(50), -- 日期
  site character varying(50), -- 地址

现在我想要在页面上用表格输出:日期与地址对应的统计数据。一个日期可以对应多个地址。一个地址也可以对应多个日期,但是一个日期和一个地址可以唯一确定一条记录。
我现在是先按照日期group by统计,然后分别对每一条日期再来查找对应的地址,这样下来会出现有的日期下边包含多个地址,有的日期下边只有一个地址的情况。这个时候我就无法使用limitoffset来分页显示数据了。现在数据我也全部统计出来,只是这个分页实现不了了。
请问这个问题可以如何解决?谢谢。

阅读 3.7k
1 个回答

不管你的查询有多复杂,都可以用 limit 和 offset 分页。

select * from (
  select a, b, c
  from ...
  where ...
  ...
) 
order by a, b, c
limit xx
offset xx;
 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题