我需要從升級請求日誌表中獲取每個設備的最新記錄。基於硬件ID和MAC地址的組合,設備是唯一的。我一直試圖用GROUP BY
來做到這一點,但我不確定這是否安全,因爲它看起來可能僅僅是返回「最高記錄」(無論SQLite或MySQL認爲是什麼)。指定GROUP BY查詢的排序順序以檢索每個組的最舊或最新記錄
我希望這個「最高記錄」可以通過ORDER BY
暗示,但這似乎沒有任何影響,因爲以下兩個查詢都會爲每個設備返回相同的記錄,只是順序相反:
SELECT extHwId,
mac,
created
FROM upgradeRequest
GROUP BY extHwId, mac
ORDER BY created DESC
SELECT extHwId,
mac,
created
FROM upgradeRequest
GROUP BY extHwId, mac
ORDER BY created ASC
是否有另一種方法可以實現這一目標?我見過幾個有點相關的帖子,都涉及到子選擇。如果可能的話,我希望在沒有子選擇的情況下做到這一點,因爲我想知道如何在沒有這個的情況下做到這一點。
是三重態'extHwId,max,創建'唯一或可能有關係? – 2010-04-27 15:31:48
有可能有關係。 – 2010-04-27 15:40:09