那是我 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/

10-10 21:55