Avatar billede RasmusTheR Seniormester
20. februar 2017 - 20:59 Der er 6 kommentarer

SQL udtræk-max 5 af hver.

Sidder og leger lidt med et SQL udtræk, hvor jeg gerne vil lave begrænsningen, at det kun er de sidste 5 poster pr. navn, som kommer med.

Hvordan gør jeg det?

SELECT navn, adr, ordre FROM kunder ORDER BY dato DESC
Avatar billede arne_v Ekspert
20. februar 2017 - 21:17 #1
Maaske noget a la:

SELECT navn, adr, ordre
FROM kunder k1
WHERE (SELECT COUNT(*) FROM kunder k2 WHERE k2.dato >= k1.dato) <= 5
ORDER BY navn,ASC,dato DESC

bemaerk at den kan returnere mere end 5 ordrer per navn, hvis der er flere med samme dato.
Avatar billede hemberg Forsker
20. februar 2017 - 21:17 #2
SELECT navn, adr, ordre FROM kunder ORDER BY dato DESC LIMIT 5
Avatar billede hemberg Forsker
20. februar 2017 - 21:18 #3
Hvis det er fra den forkerte ende skal DESC skiftes ud med ASC. Så vidt jeg husker
Avatar billede hemberg Forsker
21. februar 2017 - 08:08 #4
Sorry havde ikke lige set det med navn.
SELECT navn, adr, ordre FROM kunder ORDER BY dato, navn DESC LIMIT 5
burde kunne gøre det hvis der skal sorteres på både dato og navn
Avatar billede michael_stim Ekspert
21. februar 2017 - 09:06 #5
#4
Fungerer stadig ikke ;-) Kig på #1

Opretter vil have 5 af hvert navn, i dit eksempel giver den kun de 5 förste (eller sidste afhängigt af om det er asc eller desc) og ikke 5 af hvert navn.
Avatar billede hemberg Forsker
21. februar 2017 - 12:26 #6
Arh den havde jeg misforstået.....
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester