我在访问数据库中有一个表。我正在处理的查询旨在提取所选字段,但仅提取最近日期的信息。我试图将Report Date
字段的条件更改为最大值,并且还要更改为" Max"总计。这些都不奏效。因此,下面的sql代码会拉出我想要的字段,并使用最新的数据对数据进行排序。这是对我的解决方案的一个肮脏的修复,并为我需要的东西(仅最近的日期观察)提取了太多必要的数据 - 总体而言,我如何仅在最近的日期提取所有观察结果。谢谢!
SELECT Max(RedProjectHistorical.[Report Date]) AS [MaxOfReport Date],
RedProjectHistorical.ID,
RedProjectHistorical.[Project Name],
RedProjectHistorical.[Client Name],
RedProjectHistorical.[Internal Project Status],
RedProjectHistorical.[Internal Project Status Value],
RedProjectHistorical.[Project manager]
FROM RedProjectHistorical
GROUP BY RedProjectHistorical.ID,
RedProjectHistorical.[Project Name],
RedProjectHistorical.[Client Name],
RedProjectHistorical.[Internal Project Status],
RedProjectHistorical.[Internal Project Status Value],
RedProjectHistorical.[Project manager]
ORDER BY Max(RedProjectHistorical.[Report Date]) DESC
答案 0 :(得分:3)
试试这个:
SELECT [Report Date],
ID,
[Project Name],
[Client Name],
[Internal Project Status],
[Internal Project Status Value],
[Project manager]
FROM RedProjectHistorical
WHERE [Report Date] = (
SELECT MAX([Report Date])
FROM RedProjectHistorical
)
ORDER BY [Report Date] DESC
注意:如果该字段属于哪个表没有差异,则无需为每个字段添加表名。
编辑:这将适用于表格按“报告日期”排序:
SELECT TOP 1 [Report Date],
ID,
[Project Name],
[Client Name],
[Internal Project Status],
[Internal Project Status Value],
[Project manager]
FROM RedProjectHistorical
ORDER BY [Report Date] DESC