简体   繁体   English

如何按优先级在属性中按顺序进行排序

[英]how to order by in rails with priority conditional in attributes

example i have a list of users 例如我有一个用户列表

id           name         role

1            join         member
2            cathy        sale
3            mark         admin
4            orthor       member
5            Sy           admin

i want to order by role asc with priority when role= 'member' 当role ='member'时,我想按优先级按角色升序排序

result: 结果:

 id           name         role

1            join         member
4            orthor       member
3            mark         admin
5            Sy           admin
2            cathy        sale

how to order by this in rails?? 如何以此订购导轨?

从表顺序中选择*,方式是(如果role ='member',则为0,否则1结束)

SELECT id,name,role
FROM (
    SELECT *, (Case when role='member' THEN 0 ELSE 1 END) as order_role
    FROM your_table
)
ORDER BY order_role,role ASC

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM