نقل قول: نمایش 3 رکورد آخر
این آدرس رو ببینید: MySQL - How To Get Top N Rows per Each Group
با Local Variables این کار رو کرده. این مدلی:
SELECT * FROM (
SELECT *,
@rank := IF(@current_company = company_id, @rank + 1, 1) AS rank,
@current_company := company_id
FROM products ORDER BY id DESC
) AS ranked
WHERE rank <= 3;
نقل قول: نمایش 3 رکورد آخر
از پاسختون ممنون. ولی نمیدونم چرا کار نمیکنه و همه رکوردها رو برمی گردونه!
نقل قول: نمایش 3 رکورد آخر
چپه مرتب سازي كن بعد با top(3) اون اجرا كن
نقل قول: نمایش 3 رکورد آخر
نقل قول:
نوشته شده توسط
mofrad
از پاسختون ممنون. ولی نمیدونم چرا کار نمیکنه و همه رکوردها رو برمی گردونه!
اگر با برنامهای تست کردید، برنامههای Client احتمالا Session رو دستکاری میکنن (Local Variable براساس Session هست). من با Navicat اون کوئری رو تست کردم ولی دفعه اول همه رو میاره از دفعه دوم درست میشه (!). ولی تو برنامه درست کار میکنه. شاید برای شما هم همین مشکل باشه.
نقل قول: نمایش 3 رکورد آخر
توی برنامه هم تست کردم ولی نشد! شاید در نسخه های mysql متفاوته؟
نقل قول: نمایش 3 رکورد آخر
SELECT * FROM products ORDER BY id DESC LIMIT 3