Select * From yourTable Order By (Case When col=1 then 0 else 1 End), Col1
DROP TABLE #TempCREATE TABLE #Temp (regionId VARCHAR(10), ParentId VARCHAR(10), TextColumn VARCHAR(10))INSERT INTO #Temp (regionId, ParentId, TextColumn)SELECT 'a1', '1', 'wwer' UNION ALLSELECT 'b1', '1', 'yrt' UNION ALLSELECT 'c1', '1', 'ryrt' UNION ALLSELECT 'a11', 'a1', 'eryrty' UNION ALLSELECT 'b11', 'b1', ' nbnvnfth' UNION ALLSELECT 'c11', 'c1', 'vc' UNION ALLSELECT 'b111', 'b11', 'vbc' UNION ALLSELECT 'a111', 'a11', 'cb' UNION ALLSELECT 'c111', 'c11', 'bc'SELECT RIGHT('000000000' + regionId, 10), * FROM #Temp ORDER BY RIGHT('000000000' + regionId, 10), ParentId
SELECT * FROM #Temp ORDER BY (CASE WHEN ParentID = '1' THEN 0 ELSE 1 END), ParentId