15. september 2004 - 08:01Der er
6 kommentarer og 1 løsning
Hente de andre felter hvor id=MAX(id)
Jeg vil gerne trække alle rækkerne fra en tabel ud, og så (vha. JOIN, GRUOP BY) finde den række i en anden tabel der har den højeste værdi i MAX(id). Det er nemt nok at finde denne MAX værdi for "id"-feltet, men hvad når jeg gerne vil have værdierne for de andre felter i rækken hvor id er MAX?
Det er også hvad jeg selv har fundet frem til på MySQL's egen hjemmeside.
På samme måde burde det spørgsmål jeg stilte den anden dag også kunne løses med en subquery, men desværre kører min udbyder med version 4.0.xx :o(
Enten skal jeg altså finde en midlertidig løsning (enten nogle vilde joins, eller mange kald der bliver samlet i en ny tabel i selve programkoden) ellers må jeg blot vente på at de installerer 4.1 eller nyere.
Har netop skrevet og spurgt Web10 om de har nogen som helst idé om hvornår 4.1 kunne finde vej til deres servere ... :)
Problemet er at det godt kan bliver til ret mange database-kald hvis nu forestiller os at der er 100 rækker i den første tabel jeg trækker ud. Der skal vel kaldes en gang ekstra pr. række, hvilket vil løbe op i 101 kald... Det ville være federe med ét enkelt, som man vist kan få lov til i MySql 4.1 :o)
Jeg ved ikke om jeg vil benytte mig af dit sidste forslag, eller blot vente på at udbyderen skifter til 4.1 eller nyere...
Anyway, mange tak for hjælpen :o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.