这个问题已经在这里有了答案 :
获取SQL中另一列的每个值的最通用值 (9个答案)
6年前关闭。
我对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)