MS Access SQL获取每个类别的最新记录 [英] MS Access SQL Get Latest Records From Each Category
问题描述
我有一个Access数据库,每天都在获取新数据.每组数据包含几个类别,每个类别可能有0个或许多记录.
I have an Access database that is getting new data on a daily basis. Each set of data contains several categories and each category may have 0 or many records.
每天,我都会将此数据附加到数据库中,并附加一列今天的日期.因此,同一记录可能会存在多天.
Every day I will append this data to the database with an additional column for today's date. Therefore, same record may exist across multiple days.
例如,我所包含的列可能包括:
For example, the columns I have may include:
- 类别
- Detail1
- Detail2
- ...
- Report_Date
我需要从该数据库中获得的是每个类别下的最新详细信息.
What I need to get from this database is the latest details under each category.
我遇到的一些问题
- 每个类别和每天的记录数都不同.我不能只从每个类别中获取固定数量的记录.
- 并非所有类别都在同一天有记录,因此我无法将日期固定为从每个类别中检索记录的最新日期.
除了每个单独的类别,UNION还能通过SQL做到这一点吗?
Is there any good way I can do this by SQL besides UNION every single category up?
预先感谢您的帮助.
推荐答案
我刚刚弄清楚了.我可以使用子查询来做到这一点.
I just figured it out. I can use a subquery to do this.
在这里.
SELECT *
FROM my_table AS T1
WHERE T1.report_date = (SELECT MAX(report_date)
FROM my_table AS T2
WHERE T1.category = T2.category)
这篇关于MS Access SQL获取每个类别的最新记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!