有了这个表:
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感谢你的帮助,查询完成了我想要的(减去前十名)是:
选择tblPerformanceData-FieldBoys.Eventnum,tblPerformanceData- FieldBoys.Mark,tblPerformanceData-FieldBoys.Meet,tblPerformanceData-FieldBoys.CY,tblPerformanceData-FieldBoys.AthleteID,tblPerformanceData-FieldBoys.MeetID
从tblPerformanceData-FieldBoys内部联接MaxAthleteByEventBoysField ON (tblPerformanceData-FieldBoys.AthleteID = MaxAthleteByEventBoysField.AthleteID)和(tblPerformanceData-FieldBoys.Mark = MaxAthleteByEventBoysField.MaxOfMark)和(tblPerformanceData-FieldBoys.Eventnum = MaxAthleteByEventBoysField.Eventnum)
分组方式: tblPerformanceData-FieldBoys.Eventnum,tblPerformanceData-FieldBoys.Mark,tblPerformanceData-FieldBoys.Meet,tblPerformanceData-FieldBoys.CY,tblPerformanceData-FieldBoys.AthleteID,tblPerformanceData-FieldBoys.MeetID
按tblPerformanceData-FieldBoys.DESC排序;
发布于 2016-04-06 09:50:24
您可以使用级联查询来完成此操作。尝试对仅包含运动员、事件和标记的主表运行group-by查询。max或min子句将根据您要查找的结果应用于标记。将此查询用作第二个查询的源,在该查询中,您将使用运动员、事件和Mark字段之间的直接链接链接回初始表。what the second query should look like
这就解决了第一个问题。我不确定如何使用查询来获得每个事件的前十名。
https://stackoverflow.com/questions/36439601
复制相似问题