【发布时间】:2012-03-24 17:06:26
【问题描述】:
我对 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));
这会返回一个错误,说明它对组函数的使用无效。
任何帮助将不胜感激。谢谢!
【问题讨论】: