在SQL Server中查询以对具有数字和字母的数据进行排序

用户名

我的一张桌子有这样的值..

Year 1
Year 9
Year 8
Year 4
Kindy [can be any word without numbers]
Pre-School [can be any word without numbers]
Year 8
Year 22
Year 15....

我该如何首先按字母顺序对它们进行排序,然后再按数字以这种升序对其进行排序。

Kindy 
Pre-School
Year 1
Year 4
Year 8
Year 9
Year 15
Year 22

我已经尝试了以下方法。

SELECT  YearLevel FROM Student 
ORDER BY 
CASE WHEN YearLevel NOT LIKE '%[0-9]%' THEN 0
ELSE CAST(RIGHT(YearLevel, LEN(YearLevel) - 5) AS int)
END

但是问题是我只需要不同的记录。

模糊树

如果具有数字的列始终具有Year [digits]格式,则可以尝试此操作

SELECT YearLevel FROM student
GROUP BY YearLevel 
ORDER BY 
    (CASE 
        WHEN YearLevel LIKE 'Year%'
        THEN 'Year' + CONVERT(varchar,LEN(YearLevel)) + YearLevel
        ELSE YearLevel
    END)

http://sqlfiddle.com/#!3/1919c/3

虽然这可能会起作用,但我建议添加带有排序顺序的整数列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 SQL Server 中对字母数字进行排序

来自分类Dev

如何在SQL Server中创建具有带数字和字母的ID列的表

来自分类Dev

从所有表和具有指定列名的所有数据库中查找列名SQL Server

来自分类Dev

从所有表和具有指定列名的所有数据库中查找列名SQL Server

来自分类Dev

SQl Server:首先对字母数字进行排序,然后再对数字进行排序

来自分类Dev

使用SQL Server中不同记录的开始日期和结束日期创建具有数据范围的临时表

来自分类Dev

MSAccess中的SQL查询可根据其排序顺序对带有字母的值列进行排名

来自分类Dev

SQL查询从具有相同ID的不同表中获取所有数据

来自分类Dev

如何正确排序SQL Server中的字母数字值

来自分类Dev

SQL Server:具有数据透视表数据的父子

来自分类Dev

如何编写SQL查询以对数据集进行排序或分组

来自分类Dev

SQL Server中具有数据类型的动态创建列

来自分类Dev

如何按数字顺序对字母数字SQL Server NVARCHAR列进行排序?

来自分类Dev

如何按字母顺序对SQL查询进行排序,但忽略前导数字?

来自分类Dev

Grails中的SQL查询可从两个具有外键关系的表中获取所有数据

来自分类Dev

在包含数字的SQL Server中对VARCHAR列进行排序?

来自分类Dev

在SQL Server中以数字方式对字符串进行排序

来自分类Dev

SQL Server:对具有 XML 列的不同表进行排序

来自分类Dev

在SQL Server中生成具有4个字母和4个数字的8位varchar

来自分类Dev

使用 SMO 遍历 SQL Server 中的所有数据

来自分类Dev

如何在sql中搜索以特定字母开头然后有数字的字符串?

来自分类Dev

如何在SQL中同时包含数字和字母数字值的行升序排序?

来自分类Dev

SQL混合数字和字母数字值的排序

来自分类Dev

SQL Server中的字母数字序列

来自分类Dev

如何对不具有特定节的具有union语句的sql查询进行排序

来自分类Dev

根据父子关系对SQL Server中的数据进行排序

来自分类Dev

具有非字母数字集合名称的Cosmos DB SQL查询

来自分类Dev

具有排序规则问题的 SQL 查询

来自分类Dev

SQL查询以查找Snowflake帐户中可用表的数量(包括所有数据库和模式)

Related 相关文章

  1. 1

    在 SQL Server 中对字母数字进行排序

  2. 2

    如何在SQL Server中创建具有带数字和字母的ID列的表

  3. 3

    从所有表和具有指定列名的所有数据库中查找列名SQL Server

  4. 4

    从所有表和具有指定列名的所有数据库中查找列名SQL Server

  5. 5

    SQl Server:首先对字母数字进行排序,然后再对数字进行排序

  6. 6

    使用SQL Server中不同记录的开始日期和结束日期创建具有数据范围的临时表

  7. 7

    MSAccess中的SQL查询可根据其排序顺序对带有字母的值列进行排名

  8. 8

    SQL查询从具有相同ID的不同表中获取所有数据

  9. 9

    如何正确排序SQL Server中的字母数字值

  10. 10

    SQL Server:具有数据透视表数据的父子

  11. 11

    如何编写SQL查询以对数据集进行排序或分组

  12. 12

    SQL Server中具有数据类型的动态创建列

  13. 13

    如何按数字顺序对字母数字SQL Server NVARCHAR列进行排序?

  14. 14

    如何按字母顺序对SQL查询进行排序,但忽略前导数字?

  15. 15

    Grails中的SQL查询可从两个具有外键关系的表中获取所有数据

  16. 16

    在包含数字的SQL Server中对VARCHAR列进行排序?

  17. 17

    在SQL Server中以数字方式对字符串进行排序

  18. 18

    SQL Server:对具有 XML 列的不同表进行排序

  19. 19

    在SQL Server中生成具有4个字母和4个数字的8位varchar

  20. 20

    使用 SMO 遍历 SQL Server 中的所有数据

  21. 21

    如何在sql中搜索以特定字母开头然后有数字的字符串?

  22. 22

    如何在SQL中同时包含数字和字母数字值的行升序排序?

  23. 23

    SQL混合数字和字母数字值的排序

  24. 24

    SQL Server中的字母数字序列

  25. 25

    如何对不具有特定节的具有union语句的sql查询进行排序

  26. 26

    根据父子关系对SQL Server中的数据进行排序

  27. 27

    具有非字母数字集合名称的Cosmos DB SQL查询

  28. 28

    具有排序规则问题的 SQL 查询

  29. 29

    SQL查询以查找Snowflake帐户中可用表的数量(包括所有数据库和模式)

热门标签

归档