2013-02-16 13 views
6

Tôi có bảng trong SQL Server có chứa một cột kiểu "int". Cột có thể chứa giá trị dương cũng như âm. Tôi muốn thực hiện phân loại dựa trên giá trị cột này sao cho các hàng có giá trị dương trong cột này đến trước giá trị âm.OrderBy trong SQL Server để đặt giá trị dương trước các giá trị âm

Ví dụ

Code SortColumn 
A  1 
B  5 
C -1 
D -3 
E  0 
F  2 

buộc Output

Code SortColumn 
E  0 
A  1 
F  2 
B  5 
C  -3 
D  -1 

Trả lời

16
Select * from Table 
order by 
Case when sortcolumn<0 then 1 else 0 end 
,sortcolumn