我有這條SQL語句,根據它們的排序行change_order
和change_id
。SQL Server Sorting Int列錯誤
我的發言是這樣的:
select *
from change_dtl_from2
where chnfr_hdrno = 'CH000009'
order by
case
when chnorder is null
then 1
else 0
end asc, change_id asc
哪裏chnfr_hdrno
爲文檔編號,chnorder
爲change_order
,change_id
是每行的唯一關鍵。
如果我執行該語句,結果會是這樣:
正如你所看到的,一行5 chnorder
值在最頂端,其中chnorder
設置其按排序我不知道我在做什麼或錯在哪裏。
默認值chnorder
爲空,並且是int
列。這就是爲什麼我很困惑,因爲每當我添加一個新的行時,新的一個將是最重要的。我希望你們都能幫助我。 :)
當遞增排序,0變得目前還不清楚你期待看到什麼1之前。對於顯示'chnorder'的所有行都已設置,因此它們將全部按0排序,然後是'change_id'中的值。 – CodeCaster
您當前的輸出是正確的和預期的。 –
由於樣本數據中'chnorder'的所有值都是NOT NULL,那麼整個數據集就會被'change_id'排序 - 並且它被** change_id正確排序**所以問題是什麼? –