PDA

View Full Version : جدا کردن 20 رکورد 20 رکورد از دیتا بیس؟



javad_r_85
دوشنبه 05 اردیبهشت 1390, 10:41 صبح
سلام.

چطوری می تونم 20 تا 20 تا رکورد جدا کنم و آنها را در گرید نمایش دهم دیتا بیس من رکوردهای زیاد دارد با استفاده از دستور top می تونم 20 تای اول را برگدونم ولی چطوری می شه مثلا از رکورد 20 به تعداد 20 رکورد بعد آن را جدا کرد و در جدول نمایش داد ستون آیدی پشت سر هم نیست و بعضی از آنها نیز حذف شده ولی به عنوان مثلا ایندکس شروع را دارم و می خوام از آن به بعد 20 رکورد دیگر را جدا کنم چطوری می شه این کاررا کرد؟

m_omrani
دوشنبه 05 اردیبهشت 1390, 13:14 عصر
اگه از SQL 2005 به بعد استفاده می کنید می تونید از ROW_NUMBER() یا rank استفاده کنید.

javad_r_85
دوشنبه 05 اردیبهشت 1390, 19:23 عصر
دوست عزیز می شه یه مثال بزنید؟؟

محمد سلیم آبادی
دوشنبه 05 اردیبهشت 1390, 20:01 عصر
دوست عزیز می شه یه مثال بزنید؟؟
اگر با کلید واژه paging in sql server جستجو کنید در اینترنت مطالب یادگرفتنی زیادی پیدا میشه.
مثلا برای بدست آوردن سطرهای 21 تا 40 یک نتیجه مرتب شده بر اساس شماره آی دی می تونید این کد رو امتحان کنید:
select * from (select row_number()over(order by id) as rnk,* from table)d where rnk between 21 and 40

oliya24
پنج شنبه 15 اردیبهشت 1390, 20:30 عصر
دوست عزیز D قیل از شرط چیه؟

محمد سلیم آبادی
پنج شنبه 15 اردیبهشت 1390, 21:18 عصر
دوست عزیز D قیل از شرط چیه؟
نام مستعار (Alias name)