2011-06-23 107 views
1

我有一個帶有日期字段和記錄ID字段的表。 recordid字段具有10001 10002 11152等記錄。這些id根據日期字段重複。 我想用recordid的最大日期取一次recordid。在sql表中選擇頂部記錄

+1

爲了什麼數據庫? –

回答

2
SELECT recordid,MAX(date) FROM table GROUP BY recordid; 
+0

這隻適用於MySQL和SQLite - 大多數其他需要「GROUP BY」子句 –

+0

是沒有意義的。 groupby在哪裏? – lkewdo

+0

D'oh。我甚至沒有意識到這可以在MySQL或SQLite中工作......這只是一個完全的腦力激盪。 – Flimzy

4
SELECT recordid, MAX(Date) From yourTable 
GROUP By recordid 
2

使用MAX和group by recordid

SELECT recordid 
     ,MAX(date) 
FROM your_table 
GROUP BY recordid 
1

這是你以後在做什麼?

Select * 
from your_table 
inner join (
    SELECT recordid, date=MAX(Date) From yourTable 
    GROUP By recordid) as m 
    on your_table.recordid=m.recordid 
1

什麼

select * from your_table where date = (select max(date) from your_table yt)