1. 程式人生 > >SqlServer按照自己意願指定排序問題

SqlServer按照自己意願指定排序問題

有時客戶的硬性要求加上專案以及資料庫的反覆更改導致不能通過簡單的order by [欄位] desc or asc進行排序

舉個簡單的列子提供個大家參考。希望能幫到大家

id   Name   Leixing

1       魚          食物

2       雞          食物

3       鴨          食物

4       魚餌       魚食

5       飼料       雞食

開始這張表只有id:1,2,3。查出來顯示很簡單根據Name排序

但後期加入了資料id:4,5,顧客又希望看到id=4的資料在id=1的資料下面,id=5的資料在id=2的資料下面

這時通過簡單的欄位排序行不通了(由於總總情況表結構以及資料不能更改),話不多說,直接上程式碼

select * from tab order by CHARINDEX(CONVERT(nvarchar(10),tab.id),'1,4,2,5,3')

提供給大家一個思路,現實情況比這個複製的多