SQL查询可通过多个分组获取最新记录

PMK

我正在使用SQL Server 2014和Management Studio。让我尝试解释我在做什么。

我有一张看起来类似于以下的表格(非常简化)

在此处输入图片说明

我想创建一个查询,如果Well Global ID相同,它将为每个参数获取最新记录。我想要的内容如下所示:

在此处输入图片说明

由于我不是一名出色的SQL骑师,所以我需要一点帮助。

我能找到的最接近的东西是以下内容,它没有考虑参数字段,因此如果全局ID匹配,它将仅获取最新记录:

SELECT TOP 1000 
    [OBJECTID], SampleDate, 
    Collector, Parameter, Result, Unit,
    WellGlobalID, GlobalID
FROM 
    WellSamples
WHERE 
    SampleDate IN (SELECT MAX(SampleDate) 
                   FROM WellSamples 
                   GROUP BY WellGlobalID);
瓦姆西·普拉巴拉(Vamsi Prabhala)

使用该ROW_NUMBER功能。

SELECT * 
FROM (
  SELECT w.*,
      ROW_NUMBER() OVER(PARTITION BY parameter,wellglobalid 
                        ORDER BY sampledate DESC) as RN
    FROM WellSamples w
  ) x
WHERE RN = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章