首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序Varchar2表ID

排序Varchar2表ID
EN

Stack Overflow用户
提问于 2018-02-12 20:06:35
回答 3查看 33关注 0票数 0

我正在尝试以正确的数字顺序对Location_ID进行排序。我为Location_ID使用了Varchar2数据类型,创建了一个SELECT语句来检索所有疾病及其总数。目前,输出如下所示。我想让L20成为最后的结果。

代码语言:javascript
复制
Location_ID    Name    Outlier_Value   Total
---------------------------------------------
L1            Disease      < 1         1
L2            Disease      < 1         1                 
L20           Disease      < 1         1
L3            Disease      < 1         1
L4            Disease      < 1         1
L5            Disease      < 1         1


SELECT Location_ID, Name, Outlier_Value, COUNT(*) AS 
Total 
FROM Measurement 
WHERE Outlier_Value IS NOT NULL 
GROUP BY Location_ID, Name, Outlier_Value
ORDER BY Name ASC;
EN

回答 3

Stack Overflow用户

发布于 2018-02-12 20:10:24

代码语言:javascript
复制
order by to_number(regexp_substr(location_id, '\d+$'))

可能是一种选择。

票数 1
EN

Stack Overflow用户

发布于 2018-02-12 20:13:25

假设您的位置以单个字母开头,那么您可以先按长度排序,然后按值排序:

代码语言:javascript
复制
order by length(location_id), location_id
票数 0
EN

Stack Overflow用户

发布于 2018-02-12 20:26:40

您还可以使用适当的leftpad设置字符串的格式

代码语言:javascript
复制
order by lpad(location_id, 10,'0')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48746144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档