یادداشت های یک برنامه نویس
دوستدار فرهنگ و هنر کهن ایرانی

مرتب سازی (Order By) در SQL Server


پرسش امنیتی

مقدار 11 به علاوه 2 چقدر میشود؟

دیدگاه شما پس از تایید نمایش داده خواهد شد.

با استفاده از دستور Order By می توان خروجی Select را بر پایه ی داده های يک يا چند ستون برحسب شاخص هايی مثل حروف الفبا ، اعداد ، تاریخ و ...مرتب کرد:

Select * 
From MyTable
Order By Code,Name

همچنین با استفاده از DESC مرتب سازی وارانه می شود (مثلا در اعداد بجای از کوچک به بزرگ از بزرگ به کوچک مرتب می شود):

Select * 
From MyTable
Order By Code,Name DESC

توجه کنید از دستور Order By نمی توان در ساخت ویوها و فانکشن ها و... استفاده کرد. اما می توانید یک ستون را بر اساس ترتیبی که می خواهید شماره گذاری کنید:

Select *,
ROW_NUMBER() Over(Order By Code,Name) as OrderNumber  
From MyTable

همچنین ممکن است بخواهید بر اساس یک یا چند فیلد خاص بصورت جداگانه شماره گذاری کنید، که در این صورت از PARTITION BY استفاده می کنیم:

Select *,
ROW_NUMBER() Over(PARTITION BY Type Order By Type,Code) as OrderNumber  
From MyTable