qwe2316797 2019-12-20 17:21 采纳率: 0%
浏览 716

group 分组之后,如何对每个组进行分页展示 limit?

group 分组之后,如何对每个组进行分页展示 limit?
例如一页显示10条
则第一页显示所有分组的前10条
第二页显示,所有分组的10-20条

存在问题,有的分组>10条数据,有的小于10条
直接对group分组进行limit的话是有问题的

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 04:28
    关注

    您好!针对您的问题,可以采用子查询和排名函数来解决。具体步骤如下:

    1. 对数据进行分组,得到每个分组的聚合结果。

    2. 对每个分组的结果按照所需的顺序进行排序。

    3. 对排序后的结果进行排名,得到每条记录在分组中的排名。

    4. 对排名进行筛选,只保留需要的分页范围内的记录。

    以下是用 SQL 语言实现上述步骤的示例代码:

    SELECT *
    FROM (
      SELECT *,
             ROW_NUMBER() OVER (PARTITION BY 分组字段 ORDER BY 排序字段) AS 行号
      FROM 表名
    ) 子查询
    WHERE 行号 BETWEEN (页码 - 1) * 每页条数 + 1 AND 页码 * 每页条数
    

    需要注意的是,这种方法要求分组字段和排序字段都必须是相同的类型,并且在排序时需要指定正确的排序顺序(升序或降序)。若您需要更详细的信息,可以随时向我提问。

    评论

报告相同问题?

悬赏问题

  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振