Avatar billede fixxxer Nybegynder
14. juni 2004 - 01:52 Der er 3 kommentarer og
2 løsninger

DISTINCT og GROUP BY i samme sætning

Jeg sidder og her med noget værre makværk!

Jeg har en tabel med svar, som har et ID-nummer tilknyttet til en række i en tabel med spørgsmål, samt et brugernavn. Hvert svar har en point-værdi og et brugernavn kan godt have flere svar i samme spørgsmål.

Nu vil jeg så gerne ligge points sammen for alle bruger i en række spørgsmål.

SELECT answerUser, SUM(answerPoints) AS Point FROM answers GROUP BY answerUser

Problemet opstår idet at har en bruger svaret to gange i et spørgsmål, ville begge disse blive talt med i SUM... Derfor tror jeg at ved tilføjelse af DISTINCT på answerUser, kan jeg komme uden om det problem, men næh nej. Den ligger stadig gengangere i samme spørgsmål med, i SUM... Hvorfor dælen gør den sådan noget fusk? :-)
Avatar billede fixxxer Nybegynder
14. juni 2004 - 08:43 #1
ingen bud?
Avatar billede fixxxer Nybegynder
14. juni 2004 - 10:20 #2
er der ingen som har en anelse om hvordan dette problem løses?
Avatar billede arne_v Ekspert
14. juni 2004 - 20:39 #3
Det er en svær en (i MySQL ihvertfald).

En mulighed var at lave en SELECT over i en temporær tabel,
hvor du kun tog max. point per bruger per spørgsmål over - og så
lavede ovenstående select ned i den temporære tabel.
Avatar billede fixxxer Nybegynder
15. juni 2004 - 04:56 #4
ok, håbede på at det kunne laves med lidt tricks, tror bare ikke den dur da den skal køres ofte. det ville næsten være nemmer at lave en workaround, hvor jeg giver efterfølgende svar et status-nummer, så de kan trækkes fra ved sammenlægningen. det var bare lige det jeg håbede at jeg kunne undgå.

Du skal have tak for din tid, så hvis du smider et svar så deler vi :)
Avatar billede arne_v Ekspert
15. juni 2004 - 07:16 #5
svar
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