使用 mysql 按多列排序

Rin*_*rge 1 php mysql

下面显示的是我需要用这三列进行排序的查询。这是用于复杂的搜索列表。如果我使用其中之一,它就会完美地工作。但处理不止一个时,它无法正确排序。

编辑

其实我需要的是,优质唱片一定要排在第一位,而且喜欢的唱片也比较多,而且精英客户有更多的优先权。这些都是有条件的

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)

请建议我 。谢谢

Ran*_*ndy 5

不确定你的问题,但这给出了你在示例中显示的顺序。

order by profile_type desc, fav_count desc
Run Code Online (Sandbox Code Playgroud)