以下是我的查询结果。但是有很多冗余记录,因此,我想过滤掉这个查询的结果。我的目标是每个角度只提取两个记录,第一个和最后一个。 例如,当角度为, 我想要得到其第一个记录时,日期= 2 /二千〇一十七分之二十七,时间= 2:00:00和 第二记录的日期是2/27/2017和时间= 9:00:00 AM。 类似地,当角改变为我想要得到其第一个记录时,日期= 2 /二千〇一十七分之二十七时间= 10:00:00和其它记录的日期和时间是2/27/2017和9:00:00 PM。 对于所有记录也是类似的。 我试图自己做,但它只返回一个记录每个角度只有顶部一个,不知道如何得到最后一个。 我使用两个查询(查询1)如何从访问表中获得有选择性的记录
SELECT final.Date, final.Angle
FROM final
GROUP BY final.Date, final.Angle
和第二查询(fileredOUtput)
SELECT Query1.Date, Query1.Angle, (SELECT TOP 1 final.Date FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle)
AS NewDate,
(SELECT TOP 1 final.Angle FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS NewAngle,
(SELECT TOP 1 final.earthCol.Value FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS NewE_CV,
(SELECT TOP 1 final.earthCol.ColNu FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS New_E_CN,
(SELECT TOP 1 final.mars_Col.Value FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS NewM_CV,
(SELECT TOP 1 final.Col_apart FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS New_CApart,
(SELECT TOP 1 final.mars_Col.ColNu FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS NewM_CN,
(SELECT TOP 1 final.Time FROM final WHERE Query1.Date=final.Date AND Query1.Angle= final.Angle) AS NewTime
FROM Query1, final
WHERE (((Query1.Date) Between [Forms]![Query Form]![txtStartDate] And [Forms]![Query Form]![txtEndDate]));
Query results and results I need are marked with red这样做。 期待收到你的来信。 谢谢。
为什么GROUP BY在不涉及聚合函数时。你想做SELECT DISTINCT吗? – jarlh
是的,我想选择distint记录,但只有两个角度,并非全部 – Ayaz49
请看看我发布的图片 – Ayaz49