2017-12-12 28 views
1

ORDER BYには整数が続き、文字列が続きます。SQL Server:1列目の列の並べ替えと2列目の並べ替え

例:

[01] 01 | N9 
[02] 02 | C4 
[03] 03 | C5 
[04] 04 | N9 
[05] 07 | C5 
[06] 08 | C5 
[07] 15 | U1 
[08] 15 | D2 
[09] 16 | N9 
[10] 18 | N9 

所望の順序:私はRANKROW_NUMBERを試してみたが、私は、正しい解決策を見つけることができませんでした

[01] 01 | N9 
[04] 04 | N9 
[09] 16 | N9 
[10] 18 | N9 
[02] 02 | C4 
[03] 03 | C5 
[05] 07 | C5 
[06] 08 | C5 
[08] 15 | D2 
[07] 15 | U1 

答えて

1

あなたが望むように思われます。

select e.* 
from example e 
order by min(col2) over (partition by col3), col3, col2; 
+0

Thk。できます!両方のソリューションは私に望ましい結果をもたらしますが、非常に大きな配列では、2番目のものが整数がクレッシェンドになることを保証していると思います。 –

1

あなたも試してみることができます

select * from <table> order by min(col2) over (partition by col3 order by col2)