gpt4 book ai didi

mysql - 使用验证值在两列中对查询进行排序

转载 作者:行者123 更新时间:2023-12-01 00:35:33 24 4
gpt4 key购买 nike

我有这样的数据:

===================
id | name | year
1 | Andy | 1993
2 | Carroll | 1987
3 | Steve | -973
4 | John | null
===================

我如何将数据排序为:

===================
id | name | year
3 | Steve | -973
4 | John | null
2 | Carroll | 1987
1 | Andy | 1993
===================

最佳答案

如果year不是整数类型,应用castcoalesce:

select *
from yourtable
order by cast(coalesce(year,0) as int)

如果是整数,coalesce 就足够了:

select *
from yourtable
order by coalesce(year,0)

这会将年份列中的 null 值视为 0


为什么不同?作为文本的数字与数字的排序方式不同,在这里您想要对数字进行排序。

关于mysql - 使用验证值在两列中对查询进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51726324/

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