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
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