当前位置: 首页 > 面试题库 >

mysql group_concat里面有一个计数?

桑思远
2023-03-14
问题内容

我有2个表,用户并遵循。下表后面有一个名为状态的列。我想根据状态对每个用户进行分组的次数进行计数。

下面的查询返回每个用户的每种状态类型的记录。

SELECT users.name as user_name, f.status, count(f.id) 
FROM users
JOIN application_follows f ON f.user_id = users.id
GROUP BY users.id, f.status
ORDER BY users.id

返回类似:

user_name     status     count

mike          new         10
mike          old         5
tom           new         8
tom           old         9

但我想要更友好的东西:

user_name     status_count

mike          new,10|old,5
tom           new,8|old,9

尝试使用group_concat和计数,但没有用。有什么线索吗?


问题答案:

您需要使用GROUP BY两次,首先从下面的(user_id,status)开始获取计数,然后从连接的表到concat的user_id:

SELECT users.name, GROUP_CONCAT( CONCAT(f.status, ',', f.cnt) SEPARATOR '|' )
FROM users 
JOIN
( SELECT user_id, status, count(id) AS cnt
  FROM application_follows
  GROUP BY user_id, status ) f
ON f.user_id = users.id
GROUP BY users.id


 类似资料:
  • 想记录自己的心得体会,希望能给大家一些启发~ 面试官为部门工作时长比较久的师兄。面试主要问的和作品相关,强调对于作品全局的把握。面试问题主要分为三个部分,个人以及作品介绍;作品提问;反问。 一、个人以及作品介绍 需要注意时间,突出个人重点。个人介绍一般所有面试都会有,除了简历中的个人基本信息之外,建议总结一下自己的作品,让面试官对于你的作品有基本的了解以及想更深入的好奇。比如我说“我在XXX实习期

  • 面试官为部门工作时长比较久的师兄。面试主要问的和作品相关,强调对于作品全局的把握。面试问题主要分为三个部分,个人以及作品介绍;作品提问;反问。 一、个人以及作品介绍 需要注意时间,突出个人重点。个人介绍一般所有面试都会有,除了简历中的个人基本信息之外,建议总结一下自己的作品,让面试官对于你的作品有基本的了解以及想更深入的好奇。比如我说“我在XXX实习期间负责一个是B端的XXX项目,完成3.0版本的

  • 一面内容主要是自我介绍和作品集介绍,面试的难度一般,HR经常不回消息 面试部门:上海-公司是远程办公 面试负责人:HR 自我评价 我自己感觉虽然没有很好的降低讲废话的缺点,但是很真诚的去参加了。因为这个公司的产品我是真的感兴趣,工作方式我也很感兴趣,而且最关键是这个产品我了解到现在,是完全属于我的能力范围内的,完全不像多多要顾虑动效。 面试的时候也问了公司的规模和其他问题感觉我问面试官的反而比较多

  • 今年3月份我投递了阿里云的体验设计岗暑期实习,一个月内完成3轮技术面以及1轮HR面。但由于阿里HC盘点,在审批阶段不能发放offer。虽有遗憾,但是还是想记录自己的心得体会,希望能给大家一些启发~ 篇幅有限,先写一面。 一面 面试官为部门工作时长比较久的师兄。面试主要问的和作品相关,强调对于作品全局的把握。面试问题主要分为三个部分,个人以及作品介绍;作品提问;反问。 1.个人以及作品介绍 需要注意

  • 一面 面试主要问的和作品相关,强调对于作品全局的把握。面试问题主要分为三个部分,个人以及作品介绍;作品提问;反问。 个人以及作品介绍 需要注意时间,突出个人重点。个人介绍一般所有面试都会有,除了简历中的个人基本信息之外,建议总结一下自己的作品,让面试官对于你的作品有基本的了解以及想更深入的好奇。比如我说“我在XXX实习期间负责一个是B端的XXX项目,完成3.0版本的体验升级,使其更专业、更简洁。”

  • 问题内容: 我在另一个内部的JPanel有问题。我不知道为什么,但是结果是一个简单的正方形,但是尺寸不正确。这是为什么? 问题答案: 您需要将panel3的布局也设置为null,否则将使用默认设置: