【发布时间】:2020-07-28 18:38:15
【问题描述】:
到目前为止,Spring 的 JPA 存储库对我来说已经足够了,但现在我需要一个自定义查询。我为此苦苦挣扎了一天,试图了解有关 SQL、联接等的更多信息,并提出了一个本地 MySQL 查询,(我认为)它可以满足我的要求:我想找到每个“产品”的所有最新信息唯一的网址。示例:
PRODUCT
id | url | created_date
---------------------------------------------
1 | http://foo.bar/products/a | 2020-04-01
2 | http://foo.bar/products/a | 2020-04-02
3 | http://foo.bar/products/b | 2020-04-02
4 | http://foo.bar/products/a | 2020-04-03
5 | http://foo.bar/products/b | 2020-04-03
RESULT
id | url | created_date
---------------------------------------------
4 | http://foo.bar/products/a | 2020-04-03
5 | http://foo.bar/products/b | 2020-04-03
这是我想出的原生 MySQL 查询:
SELECT *
FROM product t
INNER JOIN
(SELECT url, MAX(created_date) AS Latest
FROM product
GROUP BY url) grouped_url
ON t.url = grouped_url.url
AND t.created_date = grouped_url.Latest
我尝试将其转换为 JPQL 以便使用 @Query 注释似乎很尴尬,所以我什至不会费心在此处发布它们:D 有人可以帮助我吗?
【问题讨论】: