دسته بندی ها
10:44 1401/11/15

شماره سطرها در Sql Server - نحوه استفاده از Row_Number در Sql

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3560
پاسخ دهنده : fateme 13:57 1401/11/15

استفاده از تابع Row_Number برای شمارش مجموعه سطرها در نتیجه

همونطور که خودتون هم در متن سوال گفتید از این تابع برای انتساب شماره سطر در یک مجموعه استفاده می شود. حالا فرض می کنیم که جدولی داریم با فیلدهای زیر :

  • id
  • firstname
  • lastname
  • cityname

جدول ما در Sql Server شامل اطلاعات زیر هست :

آموزش استفاده از row_number

 

خب حالا میخوایم بر اساس شهر کاربران رو دسته بندی کنیم و همچنین بشماریم هر شهر چندکاربر داره.

خیلی ساده می تونیم از دستور زیر استفاده کنید :

Select *,
ROW_NUMBER() Over ( partition by cityname order by id) as RowNumber
From MyUsers

خروجی دستور بالا چیزی مشابه با نتیجه زیر خواهد بود :

نحوه شمارش ردیف ها توسط row_number

همونطوری که میبینید لیست کاربران بر اساس نام شهر مرتب شده و در ردیف آخر هم شمارش تعداد سطرها انجام شده.

به طور کلی برای استفاده از دستور Row_Number در Sql Server از قالب زیر استفاده میشه :

ROW_NUMBER ( )   
    OVER ( [ PARTITION BY value_expression , ... [ n ] ] order_by_clause )
  • Partition By : در این قسمت مشخص می کنیم که گروه بندی بر اساس کدوم فیلد باید انجام بشه.
  • order by : رکوردهای گروه بندی شده رو بر اساس فیلدی که معرفی میشه مرتب می کنه.
به این پاسخ امتیاز بدهید    1
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود