如何在sql中排序列值?

shr*_*ree -4 sql

可能重复:
为什么SQL查询的结果不会按照我期望的顺序返回?

我有这样的表..我的表名是模式.

S.No      type      Id_Section
    1          A        IPS
    2          A        IPS
    3          A        IPS
    4          A        IPS
    1          B        IPS
    2          B        IPS
    3          B        IPS
    1          C        IPS
    2          C        IPS
    5          A        IPS
    4          B        IPS
Run Code Online (Sandbox Code Playgroud)

在这个表中,最后一行有无序.所以我需要在serialno和type ='A'中订购表..订购后,例如我应该显示如下

S.No      type      Id_Section
    1          A        IPS
    2          A        IPS
    3          A        IPS
    4          A        IPS
    5          A        IPS
    1          B        IPS
    2          B        IPS
    3          B        IPS
    4          B        IPS
    1          C        IPS
    2          C        IPS
Run Code Online (Sandbox Code Playgroud)

如何为此编写SQL查询?请有人帮助我

Con*_*rix 8

从您对Mithun Sasidharan和Connell Watkins的评论

嗨这里我需要指定type ='A'和type ='B'..我必须在我的表A,B,C中指定type..Coz是"INL","BRL","CRS"..所以我应该指定类型..怎么做..请告诉我

您似乎想要将值映射到特定顺序.没有添加Sort order字段或表,您可以使用CASE.即便如此,他们还有两种方法

映射每个值

ORDER BY
   CASE WHEN Type = 'INL' THEN 0
        WHEN Type = 'BRL' THEN 1
        WHEN Type = 'CRS' THEN 2
   END
Run Code Online (Sandbox Code Playgroud)

只需将一个带到顶部

ORDER BY
   CASE WHEN Type = 'INL' THEN 0
        ELSE 1
   END,
   Type
Run Code Online (Sandbox Code Playgroud)