- 需求:
- 按当前城市登录人所在城市为第一优先级排序,其他城市随机排序,相同城市排在一块
- 按当前城市登录人所在城市为第一优先级排序,其他城市随机排序,相同城市排在一块
- 起初采用case when 来提高当前城市的优先级来解决排序问题.
case when cityid=当前城市 then 100 else 1
- 但是,在测试的过程中发现第二页数据中会与前一页中的的数据重复(数据量小).
- 出现这个场景的原因是当前城市的数据查询完了,没有限制唯一的条件.导致数据随机查询
- 想了想,加个主键排序吧.
order by id asc
- 又测试了下,发现重复数据是解决了,但是除了当前城市,其他的城市的排序是按照id升序的,发现这不是我想要的效果,需要在同一城市排在一块,这个时候在id排序前加入城市排序即可
order by cityid asc