Avatar billede kmc81 Juniormester
27. december 2016 - 20:26 Der er 1 kommentar og
1 løsning

List de ti bedste deltagere i denne måned

Hej

Jeg har en problemstilling som jeg ikke ved hvordan jeg skal bære mig ad med at løse.
Jeg har en tabel "quiz_winner" med felterne (winner_id, winner_name, correct_answer, participation_date, quiz_type_name) som lister vinderne i alle quiz. En record kunne f.eks. se sådan ud: 

winner_id: 1
winner_name: lars
correct_answer: 6
participation_date: 2016-12-26 10:05:52
quiz_type_name: Free Win

Hver bruger kan deltage i mange quiz af samme quiztype (quiz_type_name) i løbet af en måned. Mit spørgsmål lyder:

Hvordan får jeg en liste ud på de ti bedste deltagere (dvs. med flest rigtige svar (correct_answer)) med quiztypen (Free Win) inden for den nuværende måned? 
Hver deltagers rigtige svar skal altså lægges sammen og så skal de deltagere med flest rigtige svar i denne måned listes.

Mvh.

Kenneth
Avatar billede arne_v Ekspert
27. december 2016 - 22:00 #1
Forslag:

SELECT winner_name,SUM(correct_answer) AS total
FROM quiz_winner
WHERE quiz_type_name = 'Free Win'
AND MONTH(participation_date) = MONTH(NOW()) AND YEAR(participation_date) = YEAR(NOW())
GROUP BY winner_name
ORDER BY total DESC
LIMIT 10
Avatar billede kmc81 Juniormester
27. december 2016 - 22:17 #2
Tak for hjælpen. Den sad lige i skabet :-)
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