MySQL分页查询的一个问题,大家给点建议。
一个公司(company)可以发布多个职位(jds)
现在是按照职位分页查询,但产品有个需求,希望在当前分页中展示不同公司的职位,一页内不能出现相同公司的职位。这个SQL要怎么写,大家给点建议。
distinct(company)
分组?
你看一下这个能不能用。
做个发号器,每个职位产生的时候去取一个号,每次取号的时候拿当前公司最大的号作为参数去取,发号器发号的时候保证同一个公司相邻的两个号之间的差值大于一页的数据量就行,唯一的问题就是如果同一个公司发布职位过快的两个号之间没有别的公司取号的话要做一下特殊处理,但也很好解决。然后吐数据的时候按号排序就行了。
方便的话建议贴下表结构
感觉这个需求就有问题,假设现在有下面这样的数据
这样每页应该不可能没有不重复的公司,除非每页显示的数据条数不一样