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

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 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)