如果具有以下数据集:
Fqdn RefQty
abcde.com 25
abcdz.uk 10
abcdf.es 15
bcdef.fr 30
bcdeg.de 25
bcdeh.ch 50
在MySQL中如何选择以使LEFT(Fqdn,4)具有MAX(RefQty)的Fqdn?
我可以找到具有MAX(RefQty)的LEFT(Fqdn,4),但是选择Fqdn时却找不到正确的Fqdn?在这种情况下,我的答案是:
Fqdn
abcde.com
bcdeh.ch
这似乎是微不足道的,但是不知何故我为此停留了几个小时。帮助将不胜感激。
最佳答案
在内部查询中查找修剪后的字符串的最大计数,并在加入时在外部查询中使用这些计数。
SELECT T.Fqdn
FROM
YOUR_TABLE T
INNER JOIN
(SELECT LEFT(Fqdn, 4) Fqdn_Trim, MAX(RefQty) as MAX_COUNT
FROM YOUR_TABLE
GROUP BY LEFT(Fqdn, 4)) A
ON LEFT(T.Fqdn, 4) = A.Fqdn_Trim AND T.RefQty = A.MAX_COUNT
ORDER BY T.RefQty DESC;
关于mysql - MySQL查询基于子字符串left()和max()列值查找行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48220827/