PDA

View Full Version : واکشی N رکورد اخر جدول



mjt10063
سه شنبه 03 دی 1392, 12:10 عصر
سلام
دوستان می میخوام N رکورد آخر جدول رو واکشی کنم و تعداد رو هم کار بر انتخاب میکند
با این کد میتونم بگم به تعداد 5 یا مثلا 8 که کاربر وارد میکنه بهم نمایش بده ولی همش از رکورد 1 شروع میکند
میخوام از آخر به اول نمایش بده
اینم کد
select * from (select *,ROW_NUMBER() OVER(ORDER BY id_page) AS Row from t_side ) AS tab where Row Between @startRowIndex and @PageSize

این حالتی کردم جواب نداد
select * from (select *,ROW_NUMBER() OVER(ORDER BY id_page) AS Row from t_side ) AS tab where Row Between @startRowIndex and @PageSize ORDER BY id_page DESC


@PageSize : کاربر وارد کند مثلا 8
و

@startRowIndex = 1

a_mzadeh
سه شنبه 03 دی 1392, 12:14 عصر
سلام؛
با استفاده از order by بصورت معکوس و دستور limit شما میتونی n رکورد آخر رو داشته باشی:

SELECT ... FROM ... WHERE ... ORDER BY ID DESC LIMIT 1, N

البته این دستور تو mySql‌ جواب میده، ممکن هست معادلی برای T-SQL نداشته باشه.

a_mzadeh
سه شنبه 03 دی 1392, 12:17 عصر
اینم یه نمونه برای T-SQL:
http://stackoverflow.com/questions/6485609/tsql-to-select-the-last-10-rows-from-a-table
موفق باشی

tiphooo
چهارشنبه 04 دی 1392, 00:14 صبح
select * from (select *,ROW_NUMBER() OVER(ORDER BY id_page DESC) AS Row from t_side ) AS tab where Row Between @startRowIndex and @PageSize
OVER(ORDER BY id_page ) بشه OVER(ORDER BY id_page DESC)