一張表中:TEST
三個字段 ID,EVENTID,TIME
ID各個都不同..TIME 也不同..EVENTID有幾條記錄都一樣
現(xiàn)在想查記錄,如果eventid 有相同的記錄,那只取time最新的那條記錄
用如下的SQL即可獲取所需的數(shù)據(jù):
select * from TEST a where a.TIME =(select max(TIME) from TEST where EVENTID=a.EVENTID)
另:如果TEST表中還有一個字段,OTHEREVENTID,這個字段是EVENTID下的一個分類,即 相同的EVENTID 下有不同的
OTHEREVENTID ,類似如下數(shù)據(jù):
ID, EVENTID, OTHEREVENTID, TIME
1001 1001001 100100101 2008-08-01 22:11:15
1002 1001001 100100101 2008-08-01 25:11:15
1003 1001001 100100102 2008-08-01 28:11:15
1004 1001001 100100102 2008-08-01 30:11:15
1005 1001002 100100201 2008-08-02 25:52:15
1006 1001003 100100301 2008-08-03 28:11:15
這樣想查詢最新那條記錄的話,則需加上OTHEREVENTID做為條件,即:
select * from TEST a where a.TIME =(select max(TIME) from TEST where EVENTID=a.EVENTID and OTHEREVENTID='100100102')
即可.
posted on 2008-08-01 16:44
henry1451 閱讀(127)
評論(0) 編輯 收藏