我从“记录”表中提取记录。 “记录”表有许多列,其中有
我想对此表进行查询,但我想每个客户端只获取一条记录(最新的creation_date记录有首选项)。
以下工作会怎样?
select r.id,r.xx,r.yy
group by(r.client_id),r.creation_date
from record r
order by creation_date desc
我在上面尝试过,似乎所提取的记录不是最新的创建日期。 希望我的问题很清楚
答案 0 :(得分:1)
保持查询并添加WHERE
条件:
SELECT r.id,r.xx,r.yy
GROUP BY(r.client_id)
FROM record r
WHERE r.creation_date = (SELECT MAX(creation_date) FROM record tmp WHERE tmp.client_id = r.client_id )
答案 1 :(得分:0)
这应该为你提供一个很好的HQL起点。
from Record as r inner join fetch r.client
where r.creation_date > (
select max(rec.creation_date) from Record rec
where rec.client.client_id = r.client.client_id
)
这当然假设您的Record有一个名为client
的父客户端的引用。