MS Access SQL从每个类别获取最新记录

时间:2014-04-29 03:19:19

标签: mysql sql ms-access access-vba

我有一个Access数据库,每天都会获取新数据。每组数据包含几个类别,每个类别可能有0个或多个记录。

每天我都会将这些数据附加到数据库中,并附加今天的日期列。因此,多天内可能存在相同的记录。

例如,我所拥有的列可能包括:

  • 分类
  • Detail1
  • Detail2
  • ...
  • REPORT_DATE

我需要从这个数据库获得的是每个类别下的最新细节。

我面临的一些问题是

  1. 每个类别和每天的记录数量不同。我不能从每个类别中获得固定数量的记录。
  2. 并非所有类别都在同一天有记录,因此我无法将日期作为检索每个类别记录的最新日期。
  3. 除了UNION之外,每个类别的SQL都有什么好的方法可以做到这一点吗?

    提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我只是想通了。我可以使用子查询来执行此操作。

在这里。

SELECT * 
FROM my_table AS T1
WHERE T1.report_date = (SELECT MAX(report_date) 
                        FROM my_table AS T2  
                        WHERE T1.category = T2.category)