View Full Version : انتخاب رکورد دهم تا بیستم از یک جدول
hamednazarzadeh
یک شنبه 01 خرداد 1390, 10:30 صبح
با سلام خدمت دوستان عزیز
من می خوام رکورد دهم تا بیستم یک جدول با بانک اطلاعاتی sql رو بخونم . ولی نمیدونم دستور select برای این کار رو چطوری بنویسم . لطفا راهنمایی بفرمایید.ممنون
یوسف زالی
یک شنبه 01 خرداد 1390, 10:42 صبح
سلام.
برای این کار از این استفاده کن:
select top 20 *
from TBL
except
select top 10 *
from TBL
Galawij
یک شنبه 01 خرداد 1390, 12:28 عصر
Select * From(
Select row_number () over(Order by dbo.TableName.IdTableName)as row_number, FieldsName
)result Where(row_number >10 AND row_number <=20)
sajjad_kochekian
شنبه 11 تیر 1390, 23:38 عصر
Select * From(
Select row_number () over(Order by dbo.TableName.IdTableName)as row_number, FieldsName
)result Where(row_number >10 AND row_number <=20)
اين دستور به من جواب نداد اشكال كار كجاست
Select * From(
Select row_number () over(Order by dbo.amaliat.Code)as row_number, code
)result Where(row_number >10 AND row_number <=20)
behrouzlo
یک شنبه 12 تیر 1390, 10:10 صبح
دستور صحیح می باشد اما اگر از نسخه های قبل از 2005 استفاده ی کنید row_number در آن نسخه ها پشتیبانی نمی شود
محمد سلیم آبادی
جمعه 17 تیر 1390, 20:14 عصر
سطر 10 تا 20 بر چه اساسی؟
با فرض اینکه بر پایه ی مقادیر ستون اصلی بصورت نزولی میخواهید به هر سطر امتیاز بدین و سطرهایی که در رده ی بین 10 و 20 قرار دارن انتخاب بشن. بعداز روش ROW Number روش زیر رو پیشنهاد می کنم:
SELECT TOP 10 *
FROM
(SELECT TOP 20 *
FROM TableName
ORDER BY Col
)D
ORDER BY Col DESC;
Galawij
شنبه 18 تیر 1390, 12:09 عصر
سطر 10 تا 20 بر چه اساسی؟
با فرض اینکه بر پایه ی مقادیر ستون اصلی بصورت نزولی میخواهید به هر سطر امتیاز بدین و سطرهایی که در رده ی بین 10 و 20 قرار دارن انتخاب بشن. بعداز روش ROW Number روش زیر رو پیشنهاد می کنم:
1
SELECT TOP 10 *FROM(SELECT TOP 20 *FROM TableNameORDER BY Col)DORDER BY Col DESC;
اگر گزینه Identity Specification فیلد کلید اصلی فعال باشه، استفاده از تابع row_number درست درمی یاد.
روش جالبی بود ممنون.
mmd2009
شنبه 18 تیر 1390, 15:42 عصر
با سلام
از این روش هم میتونید برید :
;WITH NonTable AS
(
select ROW_NUMBER() over (order by Datesnd )[RowId],* from tblAsnad
)
select * from NonTable
where [RowId] between 10 and 20
fakhravari
چهارشنبه 02 آذر 1390, 11:36 صبح
با سلام
اگر حالا بخواهیم فقط 5 رکورد آخر نمایش بده که با درستور select top میشه.
اگر بخواهیم بعد 5 پست اخر یعنی میشه 6 تا 10 رو نمایش بده چی کار باید کرد:گیج::متفکر: چون ما شماره رکورد نداریم که بازه تعیین کنیم
fakhravari
چهارشنبه 02 آذر 1390, 16:02 عصر
با سلام
از دوستان گل کسی نبود:بوس:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.