Magnus skrev:
> SQL = "SELECT * FROM Afstemning GROUP BY kategori ORDER BY
> dato"
Den har vi set. Har du prøvet Torbens forslag?
> Jeg har en række poster med felterne en dato, en kategori og
> et par andre felter.
>
> Så vil jeg have vist den nyeste post i hver kategori.
Torbens forslag giver max-datoen for hver kategori (sammen med
kategorien).
Hvis du også vil have andre felter med, bliver det lidt mere
kompliceret. Du kan nemlig kun medtage et felt i en
grupperingsforespørgsel hvis den enten indgår i grupperingen (i
GROUP BY-linjen) eller er argument til en aggregat-funktion (fx
SUM(pris), Max(dato), Avg(alder)).
Du kan ikke løse problemet ved at aggregere dine felter - for
max(navn) og max(dato) hører ikke nødvendigvis til den samme post.
Du kan lave et join mellem grupperingsforespørgslen og en ydre
forespørgsel der tager de ekstra felter med - men jeg er ikke
sikker på at det kan gøres i mysql (kender ikke selv meget til
mysql).
I MSSQL kan man gøre som følgende eksempel:
/* Ydre forespørgsel */
SELECT name, lastname, t.*
FROM members m
INNER JOIN
/* Indre forespørgsel */
(SELECT MAX(dmaaID) as maxID, ismemberof
FROM members
GROUP BY ismemberof) t
ON m.dmaaID = t.maxID
ORDER BY m.ismemberof
Den indre forespørgsel finder det højeste id-nummer for hver værdi
af feltet ismemberof (svarende til dine kategorier). Den ydre
forespørgsel henter de felter der ikke skal grupperes.
For at virke efter hensigten skal de felter man laver join på (her
dmaaID) unikt referere til en post i tabellen. Hvis der fx er flere
poster med samme dato i din tabel, vil join-udtrykket tage for
mange poster med.
Jeg sætter opfølgning til databasegruppen hvor spørgsmålet hører
hjemme.
NB: Det er lettere at læse og kommentere dine indlæg hvis du
skriver dine kommentarer neden under det du kommenterer og klipper
overskydende citater væk. Læs evt. min signatur.
X-Post über 2 Gruppen, FollowUp-To dk.edb.database
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html