MS Access SQL获取每个类别的最新记录 [英] MS Access SQL Get Latest Records From Each Category

查看:124
本文介绍了MS Access SQL获取每个类别的最新记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个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.

我遇到的一些问题

  1. 每个类别和每天的记录数都不同.我不能只从每个类别中获取固定数量的记录.
  2. 并非所有类别都在同一天有记录,因此我无法将日期固定为从每个类别中检索记录的最新日期.

除了每个单独的类别,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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆