This question already has answers here:
Get most common value for each value of another column in SQL
(9 个回答)
7年前关闭。
我对 SQL 很陌生(我正在使用 MySQL)并且需要一些帮助。我目前正在尝试从名为 PERSON 的表中选择最常见的年龄。假设 PERSON 有一个 AGE 列,它的值是:10、10、20、20、30。查询应该返回值 10 和 20。
以下查询仅检索顶行 (20):
我的另一个想法是尝试类似的事情:
这将返回一个错误,指出它是无效使用组功能。
任何帮助将不胜感激。谢谢!
(9 个回答)
7年前关闭。
我对 SQL 很陌生(我正在使用 MySQL)并且需要一些帮助。我目前正在尝试从名为 PERSON 的表中选择最常见的年龄。假设 PERSON 有一个 AGE 列,它的值是:10、10、20、20、30。查询应该返回值 10 和 20。
以下查询仅检索顶行 (20):
SELECT AGE FROM PERSON GROUP BY AGE ORDER BY COUNT(*) DESC LIMIT 1;
我的另一个想法是尝试类似的事情:
SELECT AGE FROM PERSON GROUP BY AGE HAVING COUNT(AGE) = MAX(COUNT(AGE));
这将返回一个错误,指出它是无效使用组功能。
任何帮助将不胜感激。谢谢!
最佳答案
这将:
select age from persons
group by age
having count(*) = (
select count(*) from persons
group by age
order by count(*) desc
limit 1)
关于mysql - SQL 选择最常见的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9853671/
10-11 05:14