2010-05-06 56 views
1

我有數據庫表日誌如下所示:查詢最後條目組由DEVICEID

alt text http://www.freeimagehosting.net/uploads/16e974703a.jpg

我想提取設備,pollDate,狀態中的最後一項。例如。

DEVICEID,pollDate,狀態

1,2010-95-06 10點53分28秒,1

3,2010-95-06 10時26分28秒,1


我試圖運行下面的查詢,但在不同的只選擇第一條記錄,而不是最新

SELECT DISTINCT deviceId, pollDate, status 
FROM logs 
GROUP By deviceId 
ORDER BY pollDate DESC 

alt text http://www.freeimagehosting.net/uploads/5d181103f8.jpg

那麼,你能幫我從表格中提取最新的條目嗎?謝謝。

回答

1

如果(deviceID, poll_date)是獨一無二的,你可以做到以下幾點:

SELECT * 
FROM (
     SELECT deviceid, MAX(poll_date) AS md 
     FROM logs 
     GROUP BY 
       deviceid 
     ) q 
JOIN logs l 
ON  l.deviceid = q.deviceid 
     AND l.poll_date = q.md