ambulocetus27
New member
- Local time
- Today, 02:56
- Joined
- Jan 5, 2014
- Messages
- 6
I have seen many other posts on this forum relating to TOP n Subqueries, but unfortunately none have helped to solve my issue.
I have a race league, I want to select the top 10 point scores for each member.
I have read the Allen Browne article (and many others) and tried many variations on his code but cannot get this working.
I face two issues
- The ORDER by clause has no effect, points are not sorted with largest first
- Access being unable to differentiate between scores with the same value and returning additional records. I have added an "Event" field to make the record unique, but this does not seem to help.
Query code is
SELECT qLeague.Member, qLeague.Event, qLeague.Points
FROM qLeague
WHERE qLeague.Points IN
(SELECT TOP 10 Points
FROM qLeague AS Dupe
WHERE Dupe.Points= qLeague.Points
ORDER BY Dupe.Member, Dupe.Points DESC
)
ORDER BY qLeague.Member ASC, qLeague.Points;
This returns more than 10 results per member:
Member Event Points
Alex Peters SDMC North Weald Sprint 3
Alex Peters HCAAC Debden May 3
Alex Peters GB/Harrow TAMS NW Sprint 4
Alex Peters HCAAC Debden Sprint 5
Alex Peters Llys y Fran Hillclimb 6
Alex Peters B&H Goodwood Bailey sprint 7
Alex Peters AMC Abingdon Sprint 7
Alex Peters SDMC North Weald Sprint 7
Alex Peters Llandow Sprint 8
Alex Peters TWMC Goodwwod 9
Alex Peters SEMSEC Brands Hatch Sprint 9
Alex Peters RMC Lydden Sprint 11
Alex Peters Mira Sprint 13
Alex Peters TWMC Lydden Sprint April 15
Andy Webber Barc Mallory 9
Andy Webber SDMC North Weald Sprint 11
Andy Webber B19 May Hethel Sprint 11
Andy Webber GB/Harrow TAMS NW Sprint 11
Andy Webber TWMC Lydden Sprint April 12
Andy Webber HCAAC Debden Sprint 12
Andy Webber HCAAC Debden May 12
Andy Webber SDMC North Weald Sprint 13
Andy Webber Llandow Sprint 14
Andy Webber AMC Abingdon Sprint 14
Andy Webber Llys y Fran Hillclimb 15
Bob Hoare RMC Lydden Sprint 6
Bob Hoare SDMC North Weald Sprint 6
Bob Gibson HCAAC Debden May 14
Bob Gibson HCAAC Debden Sprint 15
etc...
I have a race league, I want to select the top 10 point scores for each member.
I have read the Allen Browne article (and many others) and tried many variations on his code but cannot get this working.
I face two issues
- The ORDER by clause has no effect, points are not sorted with largest first
- Access being unable to differentiate between scores with the same value and returning additional records. I have added an "Event" field to make the record unique, but this does not seem to help.
Query code is
SELECT qLeague.Member, qLeague.Event, qLeague.Points
FROM qLeague
WHERE qLeague.Points IN
(SELECT TOP 10 Points
FROM qLeague AS Dupe
WHERE Dupe.Points= qLeague.Points
ORDER BY Dupe.Member, Dupe.Points DESC
)
ORDER BY qLeague.Member ASC, qLeague.Points;
This returns more than 10 results per member:
Member Event Points
Alex Peters SDMC North Weald Sprint 3
Alex Peters HCAAC Debden May 3
Alex Peters GB/Harrow TAMS NW Sprint 4
Alex Peters HCAAC Debden Sprint 5
Alex Peters Llys y Fran Hillclimb 6
Alex Peters B&H Goodwood Bailey sprint 7
Alex Peters AMC Abingdon Sprint 7
Alex Peters SDMC North Weald Sprint 7
Alex Peters Llandow Sprint 8
Alex Peters TWMC Goodwwod 9
Alex Peters SEMSEC Brands Hatch Sprint 9
Alex Peters RMC Lydden Sprint 11
Alex Peters Mira Sprint 13
Alex Peters TWMC Lydden Sprint April 15
Andy Webber Barc Mallory 9
Andy Webber SDMC North Weald Sprint 11
Andy Webber B19 May Hethel Sprint 11
Andy Webber GB/Harrow TAMS NW Sprint 11
Andy Webber TWMC Lydden Sprint April 12
Andy Webber HCAAC Debden Sprint 12
Andy Webber HCAAC Debden May 12
Andy Webber SDMC North Weald Sprint 13
Andy Webber Llandow Sprint 14
Andy Webber AMC Abingdon Sprint 14
Andy Webber Llys y Fran Hillclimb 15
Bob Hoare RMC Lydden Sprint 6
Bob Hoare SDMC North Weald Sprint 6
Bob Gibson HCAAC Debden May 14
Bob Gibson HCAAC Debden Sprint 15
etc...
Last edited: