前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java8 多字段分组+count

java8 多字段分组+count

作者头像
六月的雨在Tencent
发布2024-03-28 21:09:46
920
发布2024-03-28 21:09:46
举报
文章被收录于专栏:CSDNCSDN
java8 多字段分组+count

Mysql分组计数

sql语句

代码语言:javascript
复制
SELECT follow_user,action_clue_type,COUNT(DISTINCT clue_id) followClueNum,GROUP_CONCAT(DISTINCT clue_id)
FROM crm_clue_follow_record1 WHERE DATE(create_time)=DATE('2021-03-02') AND follow_user=411 GROUP BY follow_user,action_clue_type;

执行结果

java8分组实现

代码语言:javascript
复制
Map<Long, Map<Long, Long>> collect1 = list.stream().collect(Collectors.groupingBy(ClueFollowRecord::getFollowUser,
					Collectors.groupingBy(ClueFollowRecord::getActionClueType, Collectors.counting())));

Map<Long, Map<Long, List<Long>>> collect = list.stream().collect(Collectors.groupingBy(ClueFollowRecord::getFollowUser,
					Collectors.groupingBy(ClueFollowRecord::getActionClueType, Collectors.mapping(ClueFollowRecord::getClueId, Collectors.toList()))));


System.out.println(JSON.toJSONString(collect1));
System.out.println(JSON.toJSONString(collect));

返回结果:

代码语言:javascript
复制
{411:{161:1,173:1,381:2}}
{411:{161:[5106081],173:[2021985],381:[20097,240257]}}

通过java8虽然不能完全实现sql语句相同效果,但是基本可以替代sql语句,也算达到了预期目标。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • java8 多字段分组+count
  • Mysql分组计数
    • sql语句
      • 执行结果
      • java8分组实现
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com