PDA

View Full Version : سوال: محدود کردن تغداد پاسخ ها



Radmard_Rad
دوشنبه 12 بهمن 1388, 23:09 عصر
من نیاز دارم که هر بار تعداد مشخصی از رکورد ها بانک را بازخوانی و نمایش بدم . چیزی شبیه به LIMIT(5,10) که توی Mysql استفاده می شه
به نظر می رسه که SQL Server بر خلاف MYSQL از LIMIT ساپورت نمی کنه . به جای اون هم کلمه کلیدی TOP را داره ظاهرا که فقط TOP یک محدوده مشخصی مثلا از 40-60 را بهم برگردونه .
امیدوارم تونسته باشم توضیح بدم . لطفا راهنمایی کنید

محمد سلیم آبادی
سه شنبه 13 بهمن 1388, 00:32 صبح
اگر اشتباه نکنم شما عمل Paging را می خواهین انجام بدین. که برای این کار استفاده از تابع Row_Number سفارش می شود.

راجب TOP: شما برای بدست آوردن سطرهای چهلم تا شصتم می توانید دو بار TOP بگیرید (یعنی دو بار برش) مثلا به این شکل:


select top(60-40) *
from (select top(60) *
from t
order by i asc) d
order by i desc

Radmard_Rad
سه شنبه 13 بهمن 1388, 09:46 صبح
واقعا سپاسگذارم که تونستی منظور اون جمله نصفه من را متوجه بشی . الان که خوندم خودم هم نفهمیدم .
دقیقا می خوام Paging را انجام بدم . از راهنمایی ات استفاده کردم و درست شد . برای اینکه تاپیک خالی نمونه :


SELECT Description, Date
FROM (SELECT ROW_NUMBER() OVER (ORDER BY Date DESC)
AS Row, Description, Date FROM LOG)
AS LogWithRowNumbers
WHERE Row >= 1 AND Row <= 10

حامد مصافی
یک شنبه 02 اسفند 1388, 10:01 صبح
http://www.codeproject.com/KB/aspnet/PagingLarge.aspx