gpt4 book ai didi

mysql - SQL 按列中的数字排序

转载 作者:行者123 更新时间:2023-11-29 10:06:55 25 4
gpt4 key购买 nike

 id|  name    |   created_at
—-----------------------------
1 | name 1 | 2017-05-20
2 | name 2 | 2017-05-22
3 | name 66 | 2017-05-24
4 | name 44 | 2017-05-25

我有一个订单表

我必须按名称列中的数字对其进行排序

喜欢

id|  name    |   created_at
—-----------------------------
1 | name 66 | 2017-05-20
2 | name 44 | 2017-05-22
3 | name 2 | 2017-05-24
4 | name 1 | 2017-05-25

我尝试过SELECT * FROM Orders ORDER BY name DESC;但没有运气;

我该怎么做?

最佳答案

如果所有名称均采用名称、空格、数字格式,则可以使用此查询。 SUBSTRING_INDEX提取从最后一个空格到末尾的字符,然后它们是 CAST作为无符号整数,这允许对它们进行排序。

SELECT *
FROM Orders
ORDER BY CAST(SUBSTRING_INDEX(name, ' ', -1) AS UNSIGNED) DESC

输出:

id  name    created_at
3 name 66 2017-05-24
4 name 44 2017-05-25
2 name 2 2017-05-22
1 name 1 2017-05-20

关于mysql - SQL 按列中的数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51782416/

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