Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取SQL查询中的最新日期_Sql_Sql Server_Greatest N Per Group - Fatal编程技术网

获取SQL查询中的最新日期

获取SQL查询中的最新日期,sql,sql-server,greatest-n-per-group,Sql,Sql Server,Greatest N Per Group,我正在运行此查询: WITH Result AS ( select distinct --pump.Product_PN, --pump.product_name, mot.Motor_pn, Mot.Motor_name, mas.STLAN AS Usage, po.DATUV as change_date, mot.[Procurement type], mot.Plant as plant, po.IDNRK A

我正在运行此查询:

WITH Result AS (

select distinct
    --pump.Product_PN,
    --pump.product_name,
    mot.Motor_pn,
    Mot.Motor_name,
    mas.STLAN AS Usage,
    po.DATUV as change_date,
    mot.[Procurement type],
    mot.Plant as plant, 
    po.IDNRK AS Component_PN,
    mak.MAKTG as component_name


FROM dbo.TBLMAST AS mas
INNER JOIN dbo.TBLSTPO AS po
    ON mas.STLNR = po.STLNR
INNER JOIN dbo.TBLMAKT AS mak 
    ON mak.MATNR = po.IDNRK


--INNER JOIN ['Pumps to motor$'] AS pump
    --ON pump.[Motor Product Number] = SUBSTRING(mas.MATNR, PATINDEX('%[^0 ]%', mas.MATNR + ' '), LEN(mas.MATNR))

INNER JOIN Grundfos_motors AS mot
    ON mot.Motor_PN = SUBSTRING(mas.MATNR, PATINDEX('%[^0 ]%', mas.MATNR + ' '), LEN(mas.MATNR))


where mas.STLAN = '8' and mot.Motor_PN = '78085617' and mak.MAKTG like '%stator%'

 )

 select motor_pn, motor_name, plant, change_date, Component_PN, Component_name, cast(getdate() as date) as Date_of_Extraction_date

 from result



 order by change_date DESC;
此查询的结果如下:

从这个查询结果中,我想运行另一个查询,其中
change\u date
设置为最新。因此,我只想检索最新日期的数据,其余数据则被排除在外。比如:


有人能帮忙吗

您应该能够做到:

select motor_pn, motor_name, plant, change_date, Component_PN, Component_name,
       cast(getdate() as date) as Date_of_Extraction_date
from (select r.*,
             row_number() over (partition by motor_pn order by change_date desc) as seqnum
      from result r
     ) r
where seqnum = 1;

请编辑您的问题,并将输入和输出数据显示为文本,每行缩进4个或更多空格进行格式化。通过这样做,我得到了最早的日期?我想要最晚的约会?有些地方似乎不对劲。
按更改顺序\u date desc
应获取最新日期。