我对 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;
Run Code Online (Sandbox Code Playgroud)
我的另一个想法是尝试类似的事情:
SELECT AGE FROM PERSON GROUP BY AGE HAVING COUNT(AGE) = MAX(COUNT(AGE));
Run Code Online (Sandbox Code Playgroud)
这会返回一个错误,指出组函数的使用无效。
任何帮助将不胜感激。谢谢!
这会做:
select age from persons
group by age
having count(*) = (
select count(*) from persons
group by age
order by count(*) desc
limit 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25854 次 |
| 最近记录: |