mysql分页查询按某类型置顶 按某类型置尾 再按优先级排序

近段时间接到一个新需求:

第一优先级:未满的标的顺位高于已满标的顺位。
第二优先级:新手标的顺位高于其他标的的顺位。
 第三优先级:标的剩余可投金额少的顺位高于标的剩余可投金额多的。

我是直接通过sql语句中的order  by 后添加的条件  进行需求变更的

字段的解释   b.loan_schedule :借款进度比例 (100为满标) ;b.pre_release_time  发标时间 ;b.product_id:标的类型  5为新手标

只列出相关的字段

order by后的语句 ORDER BY   b.loan_schedule = 100,  b.id NOT IN (SELECT b2.id FROM t_bid b2 WHERE  b.product_id = 5 ),b.loan_schedule DESC,  b.pre_release_time ASC

第一优先级:未满的标的顺位高于已满标的顺位。b.loan_schedule = 100  将满标的置尾 

第二优先级:新手标的顺位高于其他标的的顺位: b.id NOT IN (SELECT b2.id FROM t_bid b2 WHERE  b.product_id = 5 )  新手标置顶  

 第三优先级:标的剩余可投金额少的顺位高于标的剩余可投金额多的。,b.loan_schedule DESC

 

原文地址:https://www.cnblogs.com/shianliang/p/9002125.html