15. februar 2007 - 09:38Der er
6 kommentarer og 1 løsning
Gruppevis højeste værdi fra table
Hej
Jeg har 2 tabeller. Den ene indeholder alle kunder og den anden alle deres betalinger. I kunde-tabellen har hver kunde deres ID. I betalings-tabellen er hver kundes betalinger. Nu vil jeg gerne have sidste betaling for hver kunde. Den eneste måde jeg kan se hvilken der er den sidste er via betalings-tabellens ID (den højeste værdi).
Ind til videre har jeg det her...
SELECT * FROM kunder LEFT JOIN betalinger ON betalinger.kundeID = kunder.ID AND betalinger.pubID = '1' WHERE kunder.abbtype = '4'
... Men denne giver mig alle betalinger for hver kunde. Jeg har prøvet med en GROUP BY, men så får jeg bare den første betaling for hver kunde.
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Ved faktisk ikke om de har implementeret dette i MySQL, men det kan du jo afprøve. Tror ikke det er i 3.x, måske i 4.x og 5.x versionerne:
SELECT * FROM kunder k LEFT JOIN betalinger b ON b.kundeID = k.ID AND b.pubID = '1' WHERE k.abbtype = '4' and b.id in (select id from betalinger where kundeID=k.id order by id desc limit 1)
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select id from betalinger where kundeID=k.id order by id desc l
Har lige testet i 5.x. Der virker det heller ikke. Men det er tæt på. De understøtter ikke limit i subquerys endnu. Det kan dog også gøres med max(id) i stedet. Denne virker i 5.x:
SELECT * FROM kunder k LEFT JOIN betalinger b ON b.kundeID = k.ID AND b.pubID = '1' WHERE k.abbtype = '4' and b.id in (select max(id) from betalinger where kundeID=k.id)
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select max(id) from betalinger where kundeID=k.id)' at line 5
... Men tak for hjælpen. Jeg må lave noget PHP i stedet der gør det.
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.