【发布时间】:2010-04-27 15:08:57
【问题描述】:
我需要从升级请求日志表中获取每台设备的最新记录。设备的唯一性取决于其硬件 ID 和 MAC 地址的组合。我一直在尝试使用GROUP BY 执行此操作,但我不相信这是安全的,因为它看起来可能只是返回“最高记录”(无论 SQLite 或 MySQL 认为是什么)。
我曾希望可以通过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, created是唯一的还是有联系的? -
有可能有关系。