0

次のデータを含むテーブルがあります

ビル スーツ SQFT 日付
1 1 1,000 2012 年 9 月 24 日              
1 1 1,500 2011/12/31
1 2 800 2012 年 8 月 31 日
1 2 500 2005 年 10 月 1 日

各スーツ レコードの最大日付を合計するクエリを作成したいので、目的の結果は 1,800 になり、1 つのセル/行に収まる必要があります。これは最終的にサブクエリの一部になります。これまでに書いたクエリで期待どおりの結果が得られません。

前もって感謝します。

4

2 に答える 2

1

以下を使用できます ( 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
于 2012-09-24T16:13:30.343 に答える
0
; 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
于 2012-09-24T16:10:26.710 に答える