我有以下数据集
ID P C1 C2 XR
1 1 GBP USD 1.6
2 2 GBP USD 1.7
3 1 GBP EUR 0.84
4 2 GBP EUR 0.83
5 1 GBP CHF 1.8
6 2 GBP CHF 1.8
我试图获得每对的最小 XR 所以结果应该是
ID P C1 C2 XR
1 1 GBP USD 1.6
4 2 GBP EUR 0.83
5 1 GBP CHF 1.8
但是当我SELECT MIN(XR) GROUP BY C1,C2
,如果启用“ONLY_FULL_GROUP_BY”,我要么没有得到正确的 ID,要么得到一个警告说 ID 不在 GROUP BY 中
我最接近的是:
SELECT t1.id, t1.C1, t1.C2, MIN(t2.XR) FROM xrates t1
LEFT JOIN xrates AS t2 ON t1.id = t2.id
GROUP BY t1.id, t1.C1, t1.C2
HAVING t1.C1 = 'GBP' AND t1.C2 IN ('USD','EUR')