mysql翻页查询,如何过滤父类重复条目

mysql翻页查询,如何过滤父类重复条目
期望的结果:
page=1时 结果应是:
p1_1、p2_1、p3_1
page=2时 结果应是:
p1_2、p2_2、p3_2

但是试了mysql tp5的group达不到预期结果。请教大神们!!
如下所示的需求:

/* 数据库原型*/
    
    /**
     *   id    cid    name   reding
     *   1      1     p1_1      100
     *   2      1     p1_2      99
     *   3      1     p1_3      98
     *   4      2     p2_1      97
     *   5      2     p2_2      96
     *   6      2     p2_3      95
     *   7      3     p3_1      94
     *   8      3     p3_2      93
     *   9      4     p4_1      92
     *   10     4     p4_2      91
     *   11     5     p5_1      90
     *   12     6     p6_1      89
     *   13     6     p6_2      88
     * 
     * */ 

    /**
### * **查询要求:根据reding desc排序 每次翻页查询3条数据 且每次的3条数据中 cid不重复**
     * */ 
阅读 995
1 个回答

你这种需求很奇葩啊,实现肯定是能实现的,没啥问题。

select id,cid,name,reding from
(select id,
        cid,
        name,
        substring_index(name, '_', 1)  parent,
        substring_index(name, '_', -1) page,
        reding
 from test2
 order by reding desc) tmp
where tmp.page=2 limit 3
;

示例数据

idcidnamereding
21p1_299
52p2_296
83p3_293
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏