2016-11-22 77 views
0

請幫助我如何寫排序query.i已設置數據從我的sql查詢像下面的圖片SQL查詢的數據排序

enter image description here

目前的數據排序是按級別,序列,chgcode秩序。我希望我的數據通過不同的排序顯示。 ,其是,如果電平= 2,分選將 [通過電平,順序,chgcode,日期順序] 比另將 [以便通過電平,序列,日期,chgcode]

實際結果我需要一個像下面

enter image description here

回答

1

這是一個有點棘手的圖片,但你可以爲order by多個密鑰:

order by level, sequence, 
     (case when level = 2 then chgcode end), 
     (case when level = 2 then date end), 
     date, 
     chgcode 

前兩個鍵對於兩個組都是通用的。接下來的兩個是專門爲level = 2(並按此順序);請注意,當等級不是2時,這兩個值都是NULL。最後兩個是其他所有內容。