gpt4 book ai didi

mysql - 如何仅返回按升序排列的数值

转载 作者:行者123 更新时间:2023-11-29 21:39:06 27 4
gpt4 key购买 nike

如何按升序获取记录

我的数据是

101    
102
w
200
11
NO
131
2
XYZ

我只想按升序返回数字。数据类型为 varchar

我想将查询编写为:

SELECT rno FROM  ml_entry 
WHERE (rno NOT LIKE '%[a-z]%')
ORDER BY rno

上面的 SQL 创建以下输出:

101
102
11
131
154
2

但这就是我想要的输出:

2
11
101
102
131
154

有什么建议吗?

最佳答案

我认为你应该这样做:

SELECT rno, convert(rno, UNSIGNED INTEGER) as num 
FROM ml_entry WHERE (rno NOT LIKE '%[a-z]%') ORDER BY num ASC

由于 rno 是 varchar,因此您的排序将是词法的。您需要将 varchar 转换为整数,然后按它排序。

这是一个demo .

关于mysql - 如何仅返回按升序排列的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34680990/

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