MYSQL根据热门条件进行排序分页,防止分页有重复数据
2017-11-23 18:20
1061 查看
最近有一个需求:APP端需要有一个热门的版块,热门的规则根据的是点赞数排序,分页不能有重复数据。
方案:
1、给表加多一个更新时间的字段,然后先按赞赏数逆序排序,再按更新时间顺序排序。
2、贴SQL;
<select id="querySharesByPage" parameterType=" " resultType=" ">
SELECT
*
FROM
shares
WHERE
1 = 1
AND FK_MOBILE IS NOT NULL
AND MIX_STATUE = 1
AND SH_STATUE = 1
<if test="updateTime != null and updateTime !='' "> <!-- updateTime != null and updateTime !='' -->
<![CDATA[
AND (
(
UPDATE_TIME > #{updateTime}
AND ZANS_COUNT = #{zansCount}
)
OR (ZANS_COUNT < #{zansCount})
)
]]>
</if>
ORDER BY
ZANS_COUNT DESC,
UPDATE_TIME ASC
limit #{rows}
</select>
方案:
1、给表加多一个更新时间的字段,然后先按赞赏数逆序排序,再按更新时间顺序排序。
2、贴SQL;
<select id="querySharesByPage" parameterType=" " resultType=" ">
SELECT
*
FROM
shares
WHERE
1 = 1
AND FK_MOBILE IS NOT NULL
AND MIX_STATUE = 1
AND SH_STATUE = 1
<if test="updateTime != null and updateTime !='' "> <!-- updateTime != null and updateTime !='' -->
<![CDATA[
AND (
(
UPDATE_TIME > #{updateTime}
AND ZANS_COUNT = #{zansCount}
)
OR (ZANS_COUNT < #{zansCount})
)
]]>
</if>
ORDER BY
ZANS_COUNT DESC,
UPDATE_TIME ASC
limit #{rows}
</select>
相关文章推荐
- mysql排序不稳定,分页查询数据有重复和遗漏
- mysql 5.6 order by limit 排序分页数据重复问题
- MYSQL五表联查/N表联查一次性查出某个条件的所有数据并按某个条件进行排序
- mysql优化----大数据下的分页,延迟关联,索引与排序的关系,重复索引与冗余索引,索引碎片与维护
- mysql分页加排序数据重复问题解决方案
- mysql根据条件删除重复的数据保留一条
- MYSQL根据分类分组取每组一条数据且按条件能排序的写法
- mysql中排序再分页遇到的重复数据
- mysql中排序再分页 数据重复
- mysql根据不同的条件对数据进行批量修改(navicat)
- mysql 5.6 order by limit 排序分页数据重复问题
- 本地数据 根据输入条件进行检索数据
- MYSQL 插入数据防止重复
- sqlserver newid() 随机取多条数据 根据条件排序
- XSLT对XML数据进行分页且可以按某个值重新排序的方法
- Excel中根据某个表的顺序对另外一个表的数据进行排序
- 根据数组里面数据的日期进行排序
- mysql查找重复行且按某种条件保留数据
- asp.net中对DataTable数据进行排序、检索、合并、分页、统计
- oracle分页排序出现重复数据