2

我有一个带有值的表,我试图选择所有但以不同的顺序显示。

我不想添加另一列来定义显示顺序,

我怎样才能做到这一点..

我已阅读有关用例的信息。

但我没有成功,希望有人可以帮助解决这个问题。

这是我的尝试代码:

我的表如下所示:

 1 -- a
 2 -- b
 3 -- bgin
 4 -- mid 
 5 -- c
 6 -- d

我喜欢的结果是这样的:

 1 -- bgin
 2 -- a
 3 -- b
 4 -- c 
 5 -- d
 6 -- mid


Select Name From tbl
GROUP BY Name
ORDER BY 
CASE WHEN Name = 'Bgin' THEN 0 END, Name,
CASE WHEN Name= 'Mid' THEN 5 END, Name
4

1 回答 1

4

尝试这个:

Select Name From tbl
GROUP BY Name
ORDER BY 
CASE WHEN Name = 'Bgin' THEN 0
     WHEN Name = 'Mid' THEN 5
     WHEN Name <> 'Mid' AND Name <> 'Bgin' THEN 1 END, Name

sqlfiddle demo

于 2013-11-11T14:59:14.877 回答