TT在努力 2022-11-09 11:46 采纳率: 82.4%
浏览 18
已结题

每个年龄的学生在各学校最大的数量

select age, max(cnt) max_cnt
from (
select age, university, count(*) cnt
from user_profile
group by age, university
) t
group by age
order by max_cnt desc;
为什么子查询以后还要groupby age 啊,不是子查询的表格里已经groupby 过了吗?

  • 写回答

1条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-11-09 12:23
    关注

    是计算每一个年龄的最大值数量,肯定要先算出每一个学院的年龄的数量,然后再求出最大值呀,
    子查询分组只能取得count,你是用max不得再次分组么或者只能查出分组后的max值,一个group by 不能同时 max(count(1))这样写,你要么只能求一个最大值这样
    select max(count(device_id)) max_cnt
    from user_profile
    group by university,age
    order by max_cnt desc

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 11月9日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)