gpt4 book ai didi

MySQL 按某些值排序,即使表中不存在

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:29 24 4
gpt4 key购买 nike

我有一张 table 是这样的

 id         name
----- ------
1 Mark
2 Mike
3 John
4 Mike
5 Mike
6 John
7 Mark

请注意表中没有名字 Paul,所以按名字排序时我希望它是这样的('Mark'、'Paul'、'Mike'、'John')

        id         name
----- ------
1 Mark
7 Mark
Null Paul
2 Mike
4 Mike
5 Mike
3 John
6 John

我已经尝试过 field 方法,它正在删除 Paul,因为它不在表中

ORDER BY Field(name, 'Mark', 'Paul', 'Mike','John')

最佳答案

您不能按不存在的值进行排序,因此您应该添加一组正确的数据进行排序

select a.id, t.name 
from (
select 'Mark' name, 1 my_order
union
select 'Paul', 2
union
select 'Mike', 3
union
select 'John', 4 ) t
left join my_table a on a.name = t.name
order by t.my_order

您可以使用适当的实用程序表代替带联合的子查询

关于MySQL 按某些值排序,即使表中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57020889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com