2011-04-12 63 views
0

我有一個ID,名稱表模式,大棗只選擇最新版本的字段

和數據看起來是這樣的:

1 The title1 2011-04-05 00:00:00.000 
2 Another title 2011-04-11 00:00:00.000 
3 The title1 2011-04-11 16:49:23.633 
4 The title1 2011-04-11 00:00:00.000 

我需要SQL給我最新的幫助每個標題的日期。 所以輸出爲上述數據是

2 Another title 2011-04-11 00:00:00.000 
3 The title1 2011-04-11 16:49:23.633 

回答

2
select mytable.Title, MAX(mytable.Date) 
from mytable 
group by mytable.Title 
+0

身份證在哪裏? – SQLMenace 2011-04-12 15:44:07

2

看看Max和組通過聯機叢書

1

在包括Aggregated Column's Related Values看看,有幾種方法可以做到這一點

的一種方式將

select t1.* from(
select Title, Max(Date) as MaxDate 
From YourTable 
group by Title) t2 
join YourTable t1 on t2.Title = t1.Title 
and t1.Date = t2.MaxDAte 
+0

+1的鏈接。很棒的閱讀。 – 2011-04-12 16:06:16

5
select id,title,date from [schema] 
where title in (select title from [schema] group by title having date=max(date)) 

試試這個

1

假設你的表名是mytable

select 
    tbl.ID, tbl.Title, tbl.Date 
from 
    mytable tbl join 
    (select Title, max(Date) Date 
    from mytable) maxes on tbl.Date = maxes.Date and tbl.Title = maxes.Title 
1

假設至少SQL Server 2005中:

SELECT ID, Title, [Date] 
    FROM (SELECT ID, Title, [Date], 
       ROW_NUMBER() OVER(PARTITION BY Title ORDER BY [Date] DESC) AS RowNum 
       FROM YourTable 
     ) t 
    WHERE t.RowNum = 1