2017-12-12 8 views
1

ORDER BY 문자열 뒤에 정수가오고 함께 유지되며 순서가 같음 문자열을 지정하려고합니다.SQL Server : 첫 번째 열에서 정렬 및 정렬 두 번째 열

예 :

[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. 그것은 작동합니다! 두 솔루션 모두 내게 원하는 결과를 제공하지만, 매우 큰 배열에서 두 번째 것은 Integer가 크레센도에 있음을 확신합니다. –

1

시도해 볼 수도 있습니다

select * from <table> order by min(col2) over (partition by col3 order by col2) 
관련 문제