这看起来很简单。但是花了一些时间后,我想到了分享这个。我有以下查询。
SELECT *
FROM UPGRADE_HISTORY
ORDER BY MERCHANT_ID, RELEASE_ID
Release_ID
列出了与特定商家相对应的所有版本。就我而言,我需要检索每个商家最新RELEASE_ID
对应的结果集。
我怎样才能做到这一点?
答案 0 :(得分:1)
我认为这就是你想要的:
select uh.*
from upgrade_history uh
where uh.release_id = (select max(uh2.release_id)
from upgrade_history uh2
where uh2.merchant_id = uh.merchant_id
);
每个商家返回一行,其中包含最大的发布ID值。
答案 1 :(得分:0)
预期的查询是
SELECT uh.*
FROM UPGRADE_HISTORY uh
Where uh.RELEASE_ID = (SELECT MAX(RELEASE_ID)
FROM UPGRADE_HISTORY
WHERE MERCHANT_ID=uh.MERCHANT_ID)
ORDER BY uh.MERCHANT_ID, uh.RELEASE_ID
答案 2 :(得分:0)
尝试此查询(应该可以):
SELECT
*
FROM UPGRADE_HISTORY UH1
INNER JOIN
(
SELECT
MERCHANT_ID
,MAX(RELEASE_ID) RELEASE_ID
FROM UPGRADE_HISTORY
GROUP BY MERCHANT_ID
) UH2 ON
UH2.MERCHANT_ID = UH1.MERCHANT_ID
AND UH2.RELEASE_ID = UH1.RELEASE_ID
答案 3 :(得分:0)
Matchers.isA(RequestCodes.Code.RequestAnnotation.getClass())