2011-06-23 108 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)