2016-04-04 17 views
0

ben .. Aşağıdaki ekran resminde 1,2,3,4,5 gibi yeni sütun satır numarası lazımSQL Server yeni bir sütun olarak satır numarası ekleme

enter image description here

Sorgu:

Select 
    ROW_NUMBER() OVER (ORDER BY vgid) AS RowNumber, 
    * 
from 
    T_EMS_VGDM_RULEMST 
where 
    VGID in (156, 157, 158, 159, 165) 
order by 
    CASE 
     WHEN VGID = 165 then 1  
     WHEN VGID = 158 then 2 
     WHEN VGID = 159 then 3 
     WHEN VGID = 157 then 4 
     WHEN VGID = 156 then 5 
    END 

+0

ROW_Number ekleyerek soruyu değiştirdim ancak sonuç doğru değil –

+0

aah. Evet, bu işte çalışıyor ... teşekkürler –

+0

'(ORDER BY vgid DESC)' denedi? –

cevap

2

basitçe değil mi önermek edin:

Select 
    ROW_NUMBER() OVER (ORDER BY CASE 
            WHEN VGID = 165 then 1  
            WHEN VGID = 158 then 2 
            WHEN VGID = 159 then 3 
            WHEN VGID = 157 then 4 
            WHEN VGID = 156 then 5 
           END) AS RowNumber 
    , * 
    from T_EMS_VGDM_RULEMST 
    where VGID in (156,157,158,159,165) 
    ORDER BY CASE 
    WHEN VGID = 165 then 1  
    WHEN VGID = 158 then 2 
    WHEN VGID = 159 then 3 
    WHEN VGID = 157 then 4 
    WHEN VGID = 156 then 5 
    END 
+0

Teşekkürler, çalışıyor. Ayrıca durumun neresinden geldiğinden emirleri önleyebiliriz. –

+0

Sipariş, nerede bir koşul değil. Benim deneyimime göre, bir satır numarası oluşturduğunuzda çıktı, siparişi takip eder, ancak sipariş vermeden garanti yoktur – HoneyBadger

+0

Evet ... doğru ... teşekkürler –

1
Select 

ROW_NUMBER() OVER (ORDER BY vgid desc) AS RowNumber, 
* from T_EMS_VGDM_RULEMST where VGID in (156,157,158,159,165) 
ORDER BY CASE 
WHEN VGID = 165 then 1  
WHEN VGID = 158 then 2 
WHEN VGID = 159 then 3 
WHEN VGID = 157 then 4 
WHEN VGID = 156 then 5 
END 
İlgili konular