04. august 2006 - 09:08Der er
8 kommentarer og 1 løsning
Gruppering og filtrering
Jeg har data som vist nedenfor: ------------------- Bruger dato 1 01-01-2006 1 01-02-2006 2 15-02-2006 3 13-03-2006 3 02-02-2006 ------------------- Jeg har brug for at det kun er den nyeste post pr. bruger der vises ------------------- Bruger dato 1 01-02-2006 2 15-02-2006 3 13-03-2006 -------------------
OK du får dine point. Der står 30 mere på højkant for den anden udfordring !!
Synes godt om
Slettet bruger
10. august 2006 - 22:51#4
Forklaringen er, at når man bruger GROUP BY, så må man kun udvælge to slags felter: 1) de kolonner, som skal grupperes efter. 2) aggregerede funktioner - som f.eks MAX()
Ellers ved databasen jo ikke fra hvilken af rækkerne i gruppen, der skal hentes oplysninger.
Synes godt om
Slettet bruger
10. august 2006 - 22:51#5
Og undskyld forsinkelsen. Jeg var lige på en uges ferie.
Hej Igen - Håber du havde en god ferie Jeg har faktisk flere kolonner i tabellen som jeg gerne vil have med ud også: Jeg kan leve med at få ID med ud da jeg kan lave et view og joine det med 2 andre tabeller der har nøglen ID og kundeID X Jeg har data som vist nedenfor: ------------------- ID KundeID dato 207 1 01-01-2006 209 1 01-02-2006 211 2 15-02-2006 245 3 13-03-2006 280 3 02-02-2006 ------------------- Jeg har brug for at det kun er den nyeste post pr. bruger der vises ------------------- ID KundeID dato 209 1 01-02-2006 211 2 15-02-2006 245 3 13-03-2006 -------------------
SELECT * FROM tabel AS t1, (SELECT bruger, MAX(dato) AS dato FROM tabel GROUP BY bruger) AS t2 WHERE t1.bruger = t2.bruger AND t1.dato = t2.dato
eller, hvis du ved at nyere poster altid har højere ID, kan det være smartere at bruge den til at vælge på i stedet for dato - for hvis samme bruger nu har to poster på samme dato.
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.