那是我 table 的照片。
我必须在“Tegund”是最常见值的所有汽车中选择“Fastanumer”(在这个例子中是丰田)
这是我试过的代码
SELECT Fastanumer FROM `Bill`
WHERE Tegund =
(SELECT MAX(y.cnt) FROM (SELECT COUNT(Tegund) AS cnt FROM Bill ) AS y)
我不得不非常努力地找出答案,结果却因为 MAX 只会变成一个数字而让自己陷入困境。 (而且由于 Tegund 不是数字列表......)
这甚至可能吗?我怎样才能做到这一点?
最佳答案
我想它应该这样工作:
SELECT Fastanumer
FROM `Bill`
WHERE Tegund = (
SELECT Tegund
FROM (
SELECT Tegund,COUNT(*) FROM Bill GROUP BY Tegund ORDER BY COUNT(*) DESC LIMIT 1
) t1
)
或者甚至像这样:
SELECT Fastanumer
FROM `Bill`
WHERE Tegund = (
SELECT Tegund FROM Bill GROUP BY Tegund ORDER BY COUNT(*) DESC LIMIT 1
)
关于mysql - 如何从SQL中的COUNT中选择MAX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15371434/