Ik heb al gesearched, maar al de voor de hand liggende oplossingen hebben tot op heden niet gewerkt. Ik heb een dbase met records, waaronder een score. Ik wil nu ENKEL de hoogste 5 scores zien, maar als bv een user 3keer in die top 5 staat, mag alleen zijn hoogste score te zien zijn.
Met deze query:
geeft:
ANR: Score: Attempt:
990868 1 3
894370 0.8 2
990868 0.8 1
649090 0.8 8
649090 0.76 6
krijg ik de hoogste 5 scores te zien. Nu dus nog filteren op die 'anr' (=user):
vb:
Ik zou verwchten dat die eerste record van boven (met score 1, wat het hoogste is) dus nu ook het hoogste is, maar wat schetst mijn verbazing:
anr score attempt
294888 0.7 1
649090 0.7 1
894370 0.68 1
990868 0.58 2
303968 0.44 1
Evenzogoed met Distinct gewerkt, of met max(score) en daarna op group by. Niets helpt.
iemand van jullie wel? wat doe ik fout?
Met deze query:
code:
1
2
3
4
5
6
| SELECT anr, score, attempt FROM results WHERE blokid = 1 GROUP BY anr ORDER BY score DESC LIMIT 0 , 5 |
geeft:
ANR: Score: Attempt:
990868 1 3
894370 0.8 2
990868 0.8 1
649090 0.8 8
649090 0.76 6
krijg ik de hoogste 5 scores te zien. Nu dus nog filteren op die 'anr' (=user):
vb:
code:
1
2
3
4
5
6
| SELECT anr, score, attempt FROM results WHERE blokid = 1 GROUP BY anr ORDER BY score DESC LIMIT 0 , 5 |
Ik zou verwchten dat die eerste record van boven (met score 1, wat het hoogste is) dus nu ook het hoogste is, maar wat schetst mijn verbazing:
anr score attempt
294888 0.7 1
649090 0.7 1
894370 0.68 1
990868 0.58 2
303968 0.44 1
Evenzogoed met Distinct gewerkt, of met max(score) en daarna op group by. Niets helpt.
iemand van jullie wel? wat doe ik fout?
Een dag geen vertraging, is een dag niet gereisd