SQL 结合基本排序方式和自定义排序方式

SQL combine basic order by and custom order by

我正在使用 Oracle 数据库,我正在尝试在我的一个查询中组合基本 Order By 和自定义。

这是我的 table:

table1 
-----------------
C1 | C2 | C3 | C4

我正在尝试这样订购:

SELECT C1,C2,C3,C4 FROM table1
ORDER BY C1, C2, C3, ( 
CASE C4
   WHEN C4 = 'value1' THEN 1
   WHEN C4 = 'value2' THEN 2
   WHEN C4 = 'value3' THEN 3
END
)

但是我得到 "Missing keyword" 但我找不到哪一个,有什么想法吗?

你可以试试

SELECT C1,C2,C3,C4 FROM table1
ORDER BY C1, C2, C3, ( 
CASE 
   WHEN C4 = 'value1' THEN 1
   WHEN C4 = 'value2' THEN 2
   WHEN C4 = 'value3' THEN 3
END
)

SELECT C1,C2,C3,C4 FROM table1
ORDER BY C1, C2, C3, ( 
CASE C4
   WHEN 'value1' THEN 1
   WHEN 'value2' THEN 2
   WHEN 'value3' THEN 3
END
)