我有一个表具有以下数据总结多个记录通过的maxDate
Bldg Suit SQFT Date 1 1 1,000 9/24/2012 1 1 1,500 12/31/2011 1 2 800 8/31/2012 1 2 500 10/1/2005
我想写一个查询,将总结每个诉讼记录的最大日期,所以期望的结果将是1800,而绝在一个单元/行中。这最终将成为子查询的一部分,我只是没有得到我期待已久的问题。
在此先感谢。
我有一个表具有以下数据总结多个记录通过的maxDate
Bldg Suit SQFT Date 1 1 1,000 9/24/2012 1 1 1,500 12/31/2011 1 2 800 8/31/2012 1 2 500 10/1/2005
我想写一个查询,将总结每个诉讼记录的最大日期,所以期望的结果将是1800,而绝在一个单元/行中。这最终将成为子查询的一部分,我只是没有得到我期待已久的问题。
在此先感谢。
; With Data As
(
Select Bldg, Suit, SQFT, Row_Number() Over (Partition By Bldg, Suit Order By Date DESC) As RowID
From YourTableNameHere
)
Select Bldg, Sum(SQFT) As TotalSQFT
From Data
Where RowId = 1
Group By Bldg
对不起,我应该指定,我正在使用T SQL。我正努力与这两者合作,迄今为止,没有运气。我会继续努力的,谢谢你的帮助! – user1689297
您可以使用以下(见SQL Fiddle with Demo):
select sum(t1.sqft) Total
from yourtable t1
inner join
(
select max(dt) mxdt, suit, bldg
from yourtable
group by suit, bldg
) t2
on t1.dt = t2.mxdt
and t1.bldg = t2.bldg
and t1.suit = t2.suit
您正在使用哪个数据库管理系统? – Vikdor