我有一个sql语句,我想ORDER BY
一个特定的序列。SQL ORDER BY(序列)
SELECT * FROM UserDB ORDER BY [Role]
我怎样才能使这样的数据带给我的GridView
表由管理员上市前,由用户和客人跟进?
我有一个sql语句,我想ORDER BY
一个特定的序列。SQL ORDER BY(序列)
SELECT * FROM UserDB ORDER BY [Role]
我怎样才能使这样的数据带给我的GridView
表由管理员上市前,由用户和客人跟进?
所以你想订购Admin/User/Guest
?
试着这么做:
SELECT *
FROM UserDB
ORDER BY
CASE Role WHEN 'Admin' THEN 0
WHEN 'User' THEN 1
WHEN 'Guest' THEN 2
END
这是否对你的工作?
另一种选择是在您的Role
表中添加(或添加)Sequence
列,以便您可以在表格中定义序列 - 然后仅限于ORDER BY Role.Sequence
。
这与“sql ORDER BY multiple values in specific order?”这个问题实质上相同,我强烈建议您看看那里介绍的解决方案。
我唯一的建议是,如果你加入到“角色”表,然后添加一个“订单”或类似命名的字段,加入角色表,然后按该字段排序。这将允许您在运行时指定顺序,这是我首选的方式。 – SplinterReality