Avatar billede kipolaks Nybegynder
21. januar 2009 - 19:58 Der er 6 kommentarer og
1 løsning

Hjælp til sql Select statement

Hej!

jeg har lavet en database med en tabel jeg kalder video.
i video findes disse felter:
id, headline, category, dateadded og rating

hvad skal jeg skrive i min statement hvis jeg vil lave et udtræk af DEN video med højst rating i hver category ? der er 5 kategorier, så resultatet er på 5 rows..
Avatar billede hmortensen Nybegynder
21. januar 2009 - 20:00 #1
Noget ala.:
SELECT * FROM video GROUP BY category ORDER BY rating
Avatar billede kipolaks Nybegynder
21. januar 2009 - 20:10 #2
på den måde får jeg ikke det ønskede resultat :( jeg vil gerne have den video med højst rating i HVER category
Avatar billede arne_v Ekspert
22. januar 2009 - 01:41 #3
SELECT *
FROM video v1
WHERE rating = (SELECT MAX(rating) FROM video v2 WHERE v1.category = v2.category)

vil returne de videoer for hver kategori med maksimal rating (bemærk at det godt kan være
mere end en række per kategori, fordi flere kan have samme rating)
Avatar billede kipolaks Nybegynder
24. januar 2009 - 22:10 #4
ok.. det er ikke helt hvad jeg søger :/
hvad hvis jeg under hver kategori vil finde den video der:
1. har højst rating
2. er set flest gange (wcount)
3. er tilføjet sidst (dateadded)

det skulle gerne give et bedre resultat.. lidt hjælp til sql'en ??
Avatar billede arne_v Ekspert
24. januar 2009 - 22:36 #5
Jeg tror at du skal lave 3 queries for at få det (de kan evt. stables sammen
til en query med en UNION).
Avatar billede kipolaks Nybegynder
07. april 2009 - 14:54 #6
arne_v -> smid et svar..
Avatar billede arne_v Ekspert
07. april 2009 - 14:58 #7
ok
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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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