PDA

View Full Version : دستوری برای انتخاب 10 ردیف اخر sql



hamidtmu
شنبه 25 خرداد 1398, 03:56 صبح
با سلام. دوستان میخام 10 ردیف اخر اس کیو ال را انتخاب کنم بر خلاف دستور Top که ردیف های اول را انتخاب می کنه. راه حل ساده به نظرتون میرسه
دوم اینکه توی ایندکس گذاری ستون های دیتا بیس . فقط در اس کیو ال نیاز به تغیر هست و یا در کد نویسی در باکس جستجوی سی شارپ هم کد ها تغیری پیدا می کنه یا خیر؟
وایا ایندکس گذاری مشکلاتی به همراه دارد یا خیر(مثلا ایندکس گذاری برای 5 ستون)زیادشو میدونم مشکل داره

davidrobert
شنبه 25 خرداد 1398, 08:31 صبح
در قسمت Top که 10 رو دادید در قسمت آخر کوئری بگید ORDER BY ID DESC باعث میشه ده رکورد آخر اول نشان بده

hamidtmu
شنبه 25 خرداد 1398, 18:39 عصر
در قسمت Top که 10 رو دادید در قسمت آخر کوئری بگید ORDER BY ID DESC باعث میشه ده رکورد آخر اول نشان بده
------
ممنون فقط میخام از کم به زیاد نشون بده در دیتا گریدم. کدی هست به همین کد شما اضافه کنم یا باید روی دیتا گریدم تنظیم کنم؟

mmbguide
شنبه 25 خرداد 1398, 20:47 عصر
شما میتوند با انجام یک Select تو در تو این کار رو انجام بدید و یا در زمان نمایش در گرید این کار رو بکنید. اما در SQL:


SELECT c.* FROM (
SELECT TOP(10)*
FROM tblStudent
ORDER BY fldID DESC
) c
ORDER BY c.fldID ASC


در حقیقت از نتیجه Select اول یک Select دیگه انجام دادم. در Select اول یک نام بهش تخصیص دادم (c) که در Select دوم بتونم به فیلدها دسترسی داشته باشم

alexmcse
شنبه 25 خرداد 1398, 20:48 عصر
لینک زیر تست کنید
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql?view=sql-server-2017#examples