Sql eaggregate函数中未包含/GROUP BY和max date不显示最新日期

Sql eaggregate函数中未包含/GROUP BY和max date不显示最新日期,sql,sql-server,Sql,Sql Server,我在这里受挫了,非常感谢你的帮助。根据您在下面看到的代码: 我有一个带有一些条件的子查询。特别是以下方面: AND OwnedByTeamJ='C - O Review' AND OwnedByTeamJ is null 我想从子查询中得到结果, 对它们进行另一次选择,因为我只需要表中列出的最新日期。正如您在图片中所看到的,我希望能够提取具有最高日期的第3行以及团队自己的第3行,我猜这是空的!因为那里没有价值。 现在的问题是: 一开始,代码起作用了,我看到了所有的记录!不过,它没有选择最晚的

我在这里受挫了,非常感谢你的帮助。根据您在下面看到的代码: 我有一个带有一些条件的子查询。特别是以下方面:

AND OwnedByTeamJ='C - O Review'
AND  OwnedByTeamJ is null
我想从子查询中得到结果, 对它们进行另一次选择,因为我只需要表中列出的最新日期。正如您在图片中所看到的,我希望能够提取具有最高日期的第3行以及团队自己的第3行,我猜这是空的!因为那里没有价值。 现在的问题是: 一开始,代码起作用了,我看到了所有的记录!不过,它没有选择最晚的日期

2-突然,它停止工作,并看到此错误: 列“tt.IncidentID”在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中

select 
    distinct max(LastModifiedDateTimeJ),
    incidentID,
    EffecRequestStatus,
    OwnedByTeamJ
From (
    select   
      EffecRequestStatus,
      IncidentID,
      LastModifiedDateTimeJ,
      OwnedByTeamJ,
      DetailsJ,
      Status,
      OwnedByTeam 
    from IncidentView
       where 
       CAST(CreatedDateTime as  DATE) >='05-01-2019'
       AND JournalTypeName like '%Journal - Note%'
       AND OwnedByTeamJ='C - O Review'
       AND  OwnedByTeamJ is null

    group by  
        EffecRequestStatus,
        IncidentID,
        LastModifiedDateTimeJ,
        OwnedByTeamJ,
        DetailsJ,
        Status,
        OwnedByTeam
) as tt
where 
    tt. RequestStatus not in ('Submission','P-C submission','C Review')
数据示例如下所示,但“我的表”中的列比此处列出的多:


如果要获得非空结果,请尝试以下操作:

AND (OwnedByTeamJ='C - O Review'
OR  OwnedByTeamJ is null)

1这些条件不应同时存在:

AND OwnedByTeamJ='C - O Review'
AND  OwnedByTeamJ is null
…因为这两件事永远不会同时发生,你会得到一个空的结果集。我猜你想要的是 并且OwnedByTeamJ='C-O Review'或OwnedByTeamJ为空

你提到的错误似乎与你向我们提出的问题不符。你有没有试着从外部组建另一个团队

3将distinct与任何聚合函数(如max、sum、count等)一起使用是没有意义的


4只要您已将EffecRequestStatus包含在group by中,就会得到3行,而不是1行,因为所有3行的EffecRequestStatus值都不同。如果您只想查看一行,则必须将其从group by中删除,因此也必须从select中删除。

如果使用and with,则为null,并且任何值都始终为空结果。您可能需要或介于两者之间。感谢您花时间解释此问题@乔治·梅努蒂斯