SQL查询一个表中类别字段中Max()最大值对应的记录

如何按照个人id分组 查找焊口数量最多的对应的记录.
网上看到挺多的代码 但是都没有调试出来 求帮助

select id,kind,click_num from code as a 
where  click_num=(select max(b.click_num)
                  from code as b
                  where a.kind = b.kind
                  );

clipboard.png

阅读 6.4k
3 个回答

因为是按ID分组做sum后查最大值,所以可以查出最多的 ID,但是一个 ID 对应记录可能有很多条(问题的标题似乎问的有点问题哦)

select 
t2.id, t2.sum_click
from (
select
t.id, sum(t.click_num) as sum_click
from tb as t
group by t.id) t2
order by t2.sum_click DESC
limit 1

每个人焊口数量最多的一条记录吗

使用开窗函数row_number以ID分组,数量降序,再取出序号为1的数据即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题