PDA

View Full Version : سوال: نحوی استفاده از limit در select تودرتو



reza rezai
پنج شنبه 21 فروردین 1393, 19:26 عصر
من این کوئری رو نوشتم ولی به قسمت limit گیر میده
میخوام از بین 10 تا شماره خبر آخر ، کوچکترین شماره خبررو بر گردونه
یعنی از خبر هایی با شماره 1و 2و 3و 4و 5و 6و 7و 8و 9و 10و 11و 12و 13و 14و 15و 16 ،شماره خبر 7 بر گردونه
چیکار کن
select min(id_news) from news where id_news in (select id_news from news order by id_news desc limit 10)

us1234
پنج شنبه 21 فروردین 1393, 20:03 عصر
یعنی از خبر هایی با شماره 1و 2و 3و 4و 5و 6و 7و 8و 9و 10و 11و 12و 13و 14و 15و 16 ،شماره خبر 7 بر گردونه


یا من اشتباه برداشت میکنم یا شما اشتباه نوشتید . ! بین خبر های 1 تا 16 چرا 7 کوچیکترین آی دی است :متفکر:

در هر صورت کوئری برای گرفتن کوچیک ترین آی دی :

select * from news order by id_news acs limit 1

reza rezai
جمعه 22 فروردین 1393, 10:12 صبح
ممنون که جواب دادید
ولی منظورم اینه که از بین 10تا شماره که بر اساس desc مرتب شده کوچکترین عددو برگردونه(همون طور که میدونید desc جدولو به صورت نزولی مرتب میکنه)

reza rezai
جمعه 22 فروردین 1393, 13:02 عصر
یافتم
ابتدا با استفاده از create view یک جدول با شرایط خواص خود میسازیم که در اینجا کمترین عدد بین 10 عدد با توجه به مرتب سازی desc است مینویسیم

create view min_id(id) as select id_news from news order by id_news desc limit 10
سپس با ستفاده از این جدول داده مورد نظر خود را واکشی میکنیم

select min(id) from min_id
سپس میتوانیم این جدول ساخته شده رو پاک کنیم

DROP VIEW `min_id`
با آرزوی موفقیت