我有如下表ID列表:选择最新的条目
create table MyData
(
id bigserial primary key,
registered timestamp not null,
deviceID int not null,
someData int,
-- a bunch of other stuff
);
我也有deviceID
的List。来自此列表的每个deviceId
在MyData
中有一堆条目,它们具有不同的registered
时间戳。
我需要的是使用JPA查询从具有最新timestamp
的条目获得每个deviceId
的someData
。
当然,我可以写一个查询获取所需的数据单个deviceId
,像
SELECT d.someData from MyData d WHERE d.deviceID =:dev_id ORDER BY registered DESC
加入.setMaxResults(1)
,环路,所有deviceID
秒。我如何将它放入单个查询中?
来吧伙计,完成句子 - 悬念正在杀了我! – Raad 2013-02-13 16:17:10
@Raad对不起,暂无意思: - ] – Andy 2013-02-13 16:18:45
你可以'从SELECT选择d.someData d WHERE d.deviceID(从SELECT选择DISTINCT d2.deviceID从MyData d2)ORDER BY注册DESC'或'SELECT d.someData from MyData d WHERE d.deviceID =:dev_id ORDER BY注册DESC LIMIT 1'但不能同时存在 - 您需要为此循环。 – Raad 2013-02-13 16:23:47