我一直试图找到一些关于如何选择 SQL 中 Group By 语句中没有包含的非聚合列的信息,但到目前为止我还没有找到任何答案。我有一个有三列的表,我想从中得到。一个是创建日期,一个是根据特定的索赔 ID 对记录进行分组的 ID,最后一个是 PK。我希望找到每组索赔 ID 中包含最大创建日期的记录。我选择 MAX (创建日期)和 Claim ID (cpe.fmgcms _ cpeclaimid) ,并按 Claim ID 进行分组。但是我需要这些记录(cpe.fmgcms _ acquid)中的 PK,如果我试图将它添加到 select 子句中,就会得到一个错误。而且我不能把它按子句添加到我的组中,因为那样就会脱离我预期的组。有人知道解决办法吗?下面是我的代码示例:
Select MAX(cpe.createdon) As MaxDate, cpe.fmgcms_cpeclaimid
from Filteredfmgcms_claimpaymentestimate cpe
where cpe.createdon < 'reportstartdate'
group by cpe.fmgcms_cpeclaimid
这就是我想得到的结果:
Select MAX(cpe.createdon) As MaxDate, cpe.fmgcms_cpeclaimid, cpe.fmgcms_claimid
from Filteredfmgcms_claimpaymentestimate cpe
where cpe.createdon < 'reportstartdate'
group by cpe.fmgcms_cpeclaimid