sql2005一条查询语句解决方法

sql2005一条查询语句
有个表t1
t1字段:
id   tid   date

id是主键,tid是可重复的

select max(date)  from t1 group by tid

如上语句,tid要去重,根据最大时间把id取出来,怎么办啊,谢谢各位!!!!!!
------解决思路----------------------
select  id,tid,[date] from (
select *,row_number() over(partition by tid order by [date] desc ) as rn from t1
) as a where  rn=1
------解决思路----------------------
;WITH CTE AS(
SELECT ROW_NUMBER()OVER(PARTITION BY tid ORDER BY[date]DESC)RN,id,tid,[date]FROM t1
)
SELECT id,tid,[date]FROM CTE WHERE RN=1 

SQL 2005+有效