2012-04-16 5 views
1

SQL Server 2000 사용총 최근 날짜를 얻는 방법

각 ID의 총 최대 (날짜)를 얻고 싶습니다.

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마다 최대 (최대)를 얻고 싶습니다.

시도 쿼리

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

얻기 오류 메시지로

"WHERE 절 HAVING 절이나 SELECT 목록에 포함 된 하위 쿼리 내에, 그리고하지 않는 한 컬럼에 나타나지 않을 수 집계 집계되는 것은 외부 참조입니다. "

예상 출력

ID Date Total 

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

이 작업을 수행하는 방법.

이 당신을 위해 작동해야 쿼리 도움말을

답변

4
Select id, date, total 
from table1 t 
where date = (select max(date) from table1 where id = t.id 
group by id) 
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 
0

이 쿼리가 작동합니다

select * from dbo.Table t1 
where Date >= (select max(Date) from dbo.Table t2 
where t1.ID = t2.ID) 
관련 문제