PDA

View Full Version : نیاز به یک select خاص که شماره رکوردهای ثابتی رو نمایش دهد



veniz2008
شنبه 25 شهریور 1391, 20:16 عصر
سلام. من درون جدول 18 رکورد دارم ( که بصورت نامنظم درون جدول قرار گرفتن ). آیا دستور select ای وجود داره که بهش بگیم مثلا رکوردهای 12 و 13 و 14 رو بیرون بکش و نمایش بده؟. دوستان به این نکته توجه کنید که من ترتیب رکوردها رو نمیدونم و ممکنه بر اثر حذف و درج های متوالی جای رکوردها جابه جا بشه. چیزی که واسه من مهمه اینه که در لحظه ای که دستور اجرا میشه رکوردهای 12 و 13 و 14 رو بیرون بکشه و نمایش بده. مثل دستور Select Top 4 که تحت هر شرایطی 4 رکورد بالایی جدول رو نمایش میده و کاری نداره که چه رکوردی میخواد باشه.

FastCode
شنبه 25 شهریور 1391, 21:44 عصر
select top 10 (select top 110 from Table order by ID) order by ID desc
این سطرهای ۱۰۰ تا ۱۱۰ رو برمیگردونه
البته سورتش عکس ه

ali ghaemi
یک شنبه 26 شهریور 1391, 12:49 عصر
البته روش دوستمون جواب می ده و من هم روش دیگری با CTE رو پیشنهاد می کنم


USE Pubs
GO

WITH cte(title,RowNumber)
AS (SELECT title,ROW_NUMBER() OVER(ORDER BY title) RowNum FROM dbo.titles)

SELECT * FROM cte
WHERE RowNumber BETWEEN 5 AND 9
GO