-3

表包含

column1
A
B
C
D
E

将输出显示为的简单查询

column1
B
E
A
C
D

我尝试使用

select * from table order by rowid;

是否有任何其他确切的方法来获取所需的结果?

4

2 回答 2

4

这应该这样做:

SELECT *
FROM table
ORDER BY CASE column1 WHEN 'B' THEN 1 
         WHEN 'E' THEN 2
         WHEN 'A' THEN 3
         WHEN 'C' THEN 4
         WHEN 'D' THEN 5 END

这是一个带有演示的sqlfiddle。结果是:

╔═════════╗
║ COLUMN1 ║
╠═════════╣
║ B       ║
║ E       ║
║ A       ║
║ C       ║
║ D       ║
╚═════════╝
于 2013-07-17T18:08:08.343 回答
2

Lamak 解决方案的其他替代方案可能是这样的:

SELECT *
FROM TABLE
ORDER BY 
  DECODE(column1,'B',1,
               'E',2,
               'A',3,
               'C',4,
               'D',5)

你可以在这里试试这个。

解码参考

于 2013-07-17T18:52:41.370 回答