在我关于SQL的一个表中我尝试使用优先级orderBy
来为输出排序数据,例如
select * from user ORDER BY
(CASE
WHEN role = 1 THEN ???
END),
CASE
WHEN permission = 2 THEN ???
WHEN access = 3 ??
END)
我只是了解此命令以获得结果并优先级orderBy
,如何修复此命令以获得正确的结果?
首先按角色排序,按权限排序第二次,按访问获得第三次排序
select * from user ORDER BY
->(if role = 1 )
->(or permission = 2 )
->(or access = 3 )
答案 0 :(得分:1)
如果您有一个示例结果集,那么问题会更有意义。 不知道这是否是你想要的
ORDER BY role, permission, access
示例2:
ORDER BY
CASE WHEN role= 1 THEN role END ASC/DESC,
CASE WHEN permission = 2 THEN permission END ASC/DESC,
CASE WHEN access = 3 THEN access END ASC/DESC
问题不是很清楚