For at gøre dette skal du adskille dem på en eller anden måde; dit nuværende problem er, at de 2 laveste score er de samme, så enhver (u)lighedsoperation udført på begge værdier behandler den anden identisk.
Du kunne bruge noget som den analytiske forespørgsel ROW_NUMBER() for entydigt at identificere rækker:
select id, sum(score) / count(score) as score
from ( select id, score, row_number() over (order by score) as score_rank
from gamescore
where gameno = 1
)
where score_rank <> 1
group by id
ROW_NUMBER()
:
Da ORDER BY-klausulen er på SCORE i stigende rækkefølge, vil en af de laveste score blive fjernet. Dette vil være en tilfældig værdi, medmindre du tilføjer andre tie-breaker-betingelser til BESTIL BY.