OK. Jag har en tabell i Access där personer kan lägga till poäng allt eftersom säsongen går. Olika personer kan alltså ha gjort ex 100 inlägg var och fått ett antal poäng varje gång. Vilka poäng som hör till rätt person sorteras ut genom "boulderID". De som gjort 100 inlägg har med stor sannolikhet mer poäng en de som gjort 20, därför vill jag kunna plocka ut de 10 bästa resultaten från varje person och sedan summera dessa resultat. På det viset får jag en topplista där alla personer är representerade med sina 10 högsta poäng summerade. Inte helt enkelt...Ett sista desperat försök...
Hoppas jag varit tydlig nog den här gången. Detta måste lösas...Sv: Ett sista desperat försök...
Summering av de 10 bästa resultaten för varje person:
SELECT boulderID, SUM(Poäng) AS PoängSumma
FROM
(SELECT A.boulderID,A.Poäng, (SELECT COUNT(0) FROM Poäng WHERE ((Poäng > A.Poäng) OR (Poäng = A.Poäng AND ID < A.ID)) AND boulderID = A.boulderID) +1 AS Placering
FROM Poäng AS A
ORDER BY A.Poäng DESC , A.ID)
WHERE Placering <= 10
GROUP BY boulderID
ORDER BY SUM(Poäng) DESC;
Först plockar jag fram alla poäng med en "placersing" i en subselect. Resultatet summeras och grupperas för de poster där placering är 10 eller lägre.
/Johan