获取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
应获取最新日期。