1

SQLServer2000の使用

各IDの合計のmax(date)を取得したい。

ID Date Total

01 02/01/2012 500
01 01/02/2012 1000
01 02/03/2012 350
02 17/01/2012 250
02 15/02/2012 150
03 01/12/2011 225
...
...

各IDの合計のmax(date)を取得したい。

クエリを試しました

Select id, total from table1 where date > max(date) group by id, total

次のようなエラーメッセージを取得する

「HAVING句または選択リストに含まれるサブクエリに含まれておらず、集計される列が外部参照でない限り、集計はWHERE句に表示されない場合があります。」

期待される出力

ID Date Total

01 02/03/2012 350
02 15/02/2012 150
03 01/12/2011 225
...
...

これを行う方法。

クエリヘルプが必要

4

3 に答える 3

4
Select id, date, total 
from table1 t
where date = (select max(date) from table1 where id = t.id
group by id)
于 2012-04-16T07:22:26.710 に答える
3

これはあなたのために働くはずです:

select *
from total t inner join
    (   select id, max(date) as date
        from total
        group by id ) m on t.id = m.id and t.date = m.date
于 2012-04-16T07:25:38.533 に答える
0

このクエリは機能します

select * from dbo.Table t1
where Date >= (select max(Date) from dbo.Table t2
where t1.ID = t2.ID)
于 2012-04-16T19:35:38.167 に答える