下面显示的是我需要用这三列进行排序的查询。这是用于复杂的搜索列表。如果我使用其中之一,它就会完美地工作。但处理不止一个时,它无法正确排序。
编辑
其实我需要的是,优质唱片一定要排在第一位,而且喜欢的唱片也比较多,而且精英客户有更多的优先权。这些都是有条件的
1)首先会出现更多最爱
2) 但会考虑保费
3) 如果 basic 有 5 个收藏夹,则不会推到顶部,basic 的优先级较小
4)精英也有一些好的优先权
SELECT
`Driver`.`id` ,
`Driver`.`login_id` ,
`Login`.`profile_type`,
.................
ORDER BY `fav_count`,
FIELD( `Login`.`profile_type` , "premium", "basic" ) ,
`Driver`.`is_elite` ASC
Run Code Online (Sandbox Code Playgroud)
我预期的示例结果
is_elite| profile_type | fav_count
________|_____________________|____________
1 | premium | 4
1 | premium | 3
1 | premium | 2
1 | premium | 1
0 | basic | 5
0 | basic | 0
Run Code Online (Sandbox Code Playgroud)
请建议我 。谢谢
不确定你的问题,但这给出了你在示例中显示的顺序。
order by profile_type desc, fav_count desc
Run Code Online (Sandbox Code Playgroud)