Jag få en lista med den senaste händelsen från varje event_type_id, sorterad efter event_type_id
8 | 1 | 40 | 'zoom'
5 | 2 | 25 | 'tjoff'
10 | 3 | 65 | 'end'
6 | 4 | 28 | 'blaff'
9 | 5 | 53 | 'pong'
Har försökt på olika sätt men inte fått ihop det.
Någon som kan hjälpa mig?
Tycker inte detta ska vara så svårt men jag fick inte ihop det oavsett vad jag testade.
/red
Bör kanske säga att det är MySQL 4.0.21 jag kör. så subselect fungerar inte vad jag vet.
select e1.event_type_id,
e1.event_time,
e1.event_text
from event e1 join event e2
on e1.event_type_id = e2.event_type_id
group by e1.event_type_id,
e1.event_time,
e1.event_text
having e1.event_time = max(e2.event_time)
Det verkar fungera men var inte så snabbt.
testade jag på en tabell med 10 poster kunde man inte märka någon tid, men när det fanns 15 000 poster tog det MYCKET längre tid, runt 80 sekunder.
har index på tabellen, tror dock alla fält ligger i samma index.
tips på hur man kan optimera index?
Löste det just nu genom att först plocka ut alla maxtider för de olika typerna och sedan köra en SQL-sats per typ. Det andra sättet tog bara längre och längre tid ju fler poster det fanns i databasen.
129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17