Имея эту таблицу:Выбор строк и удаление дубликатов на основе некоторых полей на основе двух полей и ограничение на десятку?
Row Athlete Event Mark Meet
1 1 3 10 A
2 2 2 5 A
3 3 3 3 A
4 4 4 7 A
5 2 2 4 A
6 3 2 5 B
7 1 1 10 C
Как я могу выбрать все строки, но удалить дубликаты строк с иметь спортсмен в том же событии (поля спортсмен и событие), и выбрать самый низкий (или высокий Марк для этого спортсмена) Я хотел бы также, чтобы ограничить каждое событие к началу 10 спортсменов (не показан в результатах)
Ожидаемый выход (выбор высший балл), (строка 5 удаляется)
Row Athlete Event Mark Meet
1 1 3 10 A
2 2 2 5 A
3 3 3 3 A
4 4 4 7 A
6 3 2 5 B
7 1 1 10 C
Спасибо за помощь, то запрос я сделал то, что хотел (мин. с верхней десять) является:
SELECT [tblPerformanceData-FieldBoys] .Eventnum, [tblPerformanceData- FieldBoys] .Mark, [tblPerformanceData-FieldBoys] .Meet, [tblPerformanceData-FieldBoys] .CY, [tblPerformanceData-FieldBoys]. AthleteID, [tblPerformanceData-FieldBoys] .MeetID
ОТ [tblPerformanceData-FieldBoys] INNER JOIN MaxAthleteByEventBoysField ПО ([tblPerformanceData-FieldBoys] .AthleteID = MaxAthleteByEventBoysField.AthleteID) И ([tblPerformanceData-FieldBoys] .Mark = MaxAthleteByEventBoysField.MaxOfMark) AND ([tblPerformanceData-FieldBoys] .Eventnum = MaxAthleteByEventBoysField.Eventnum)
GROUP BY [tblPerformanceData-FieldBoys] .Eventnum, [t blPerformanceData-FieldBoys] .Mark, [tblPerformanceData-FieldBoys] .Meet, [tblPerformanceData-FieldBoys] .CY, [tblPerformanceData-FieldBoys] .AthleteID, [tblPerformanceData-FieldBoys] .MeetID
ORDER BY [tblPerformanceData-FieldBoys]. Марк DESC;
Спасибо .. первый запрос работал очень хорошо, когда я ограничил запрос тремя полями ... однако не смог заставить его работать с вашей связанной таблицей и запросом. – Tim
вы построили второй запрос, как изображение, которое я приложил? Цель второго запроса - включить отсутствующие столбцы из query1. – iveyb123
Я построил его точно так же, как прилагается. – Tim