SQL ORDER BY(序列)

时间:2011-12-12 08:22:02

标签: sql sql-order-by

我有一个sql语句,我希望ORDER BY一个特定的序列。

SELECT * FROM UserDB ORDER BY [Role]

我怎样才能使从GridView表中的数据列在管理员的顶部,然后是用户和来宾?

2 个答案:

答案 0 :(得分:10)

所以你想按Admin/User/Guest订购?

尝试类似:

SELECT * 
FROM UserDB 
ORDER BY
  CASE Role WHEN 'Admin' THEN 0 
            WHEN 'User' THEN 1
            WHEN 'Guest' THEN 2
  END

这对你有用吗?

另一种选择是在Sequence表中添加(或添加)列Role,以便您可以在表格中定义序列 - 然后只需ORDER BY Role.Sequence

答案 1 :(得分:3)

这与问题“sql ORDER BY multiple values in specific order?”基本相同,我强烈建议您查看那里提出的解决方案。