使用sql生成o / p的简单查询

时间:2013-07-17 17:59:52

标签: sql oracle

表包含

column1
A
B
C
D
E

将输出显示为

的简单查询
column1
B
E
A
C
D

我尝试使用

select * from table order by rowid;

是否可以获取所需的结果?

2 个答案:

答案 0 :(得分: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

Here is一个带有演示的平板电脑。 结果是:

╔═════════╗
║ COLUMN1 ║
╠═════════╣
║ B       ║
║ E       ║
║ A       ║
║ C       ║
║ D       ║
╚═════════╝

答案 1 :(得分:2)

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

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

您可以尝试 here

<强> DECODE reference