1、需求:有一个商品列表,用户购买商品会生成购买记录,根据用户购买的商品记录进行排序,买过的商品排序在商品的最下方,需要实现分页。
SELECT `goodsid`,CASE WHEN `goodsid` IN (1,2) THEN 1 ELSE 0 END `num` FROM `goods` ORDER BY `num`
语句解释:查询商品id case when 商品id in (id)如果在 就是 1 否则就是 0 正序排序
使用:
SELECT id,CASE WHEN `id` IN (select prod_id from sh_member_prod_log where user_id = 1 group by prod_id) THEN 1 ELSE 0 END `num` FROM `sh_prod` ORDER BY `num` limit 0,10;