چگونه میتوان در MySQL به ازای چند رکورد با یک رکورد parent یکسان تنها آخرین رکورد ایجاد شده را استخراج کرد؟

0 رأی
میانگین بازدید روزانه 0.26200 بازدید

چگونه میتوان در MySQL به ازای چند رکورد با یک رکورد parent یکسان تنها آخرین رکورد ایجاد شده را استخراج کرد؟

 داده اصلی

date            id        parentid

----------------------------------------------------------

1              1                  02/10/2015 13:52:56
4              1                  02/09/2015 18:36:35
6              4                  02/09/2015 23:13:05
7            10                  02/10/2015 12:45:34
8            10                  02/09/2015 17:46:15

 

داده مرتب شده:

date            id        parentid

------------------------------------------------------------

1              1                  02/10/2015 13:52:56
7            10                  02/10/2015 12:45:34
6              4                  02/09/2015 23:13:05

سوال 2 سال قبل در تالار برنامه نویسی توسط Nasim Salmani (967 امتیاز)
ویرایش 2 سال قبل توسط Saeed Zarinfam

1 جواب

+2 رأی

روش های مختلفی هست فقط باید تست کرد کدام بهینه تر هست

select a.parentid, a.id, a.date
from table a
inner join (
    select id, max(date) as latest
    from table
    group by id
 ) b on a.id = b.id and a.date = b.latest 

می شه از subquery هم استفاده کرد.بهترین راه window function ها هستند که فکر می کنم msql فانکشن row-number ساپورت نمی کنه.

جواب 2 سال قبل توسط s.siavashi (330 امتیاز)
ویرایش 2 سال قبل توسط Saeed Zarinfam

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.13150 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.4869 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.47498 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.871,537 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.1186 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.0484 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.19421 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.26582 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.36253 بازدید
کانال تلگرام جواب یاب
...