SharkQL 2021-08-30 12:04 采纳率: 75%
浏览 143
已结题

为什么group by多了一个条件后,count(*)总数变多了?

用的hive
本来是select A,B,count()as C
group by A,B from X
现在想加一列D
select A,B,count(
) as C,D
From X
group by A,B,D
为什么两个count(*)as C 跑出来的 总数会不一样呢?因为多了一个分组D,我理解每个C项会变 但总的加起来应该不变啊?
如果想保证C的总量不变,加上相应的D 应该如何添加呢?
求解!万分感谢!

  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-08-30 12:08
    关注

    变多是因为你分组更深了,所以组数会越多。
    你想加上另外的字段,可以用关联查询。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    SharkQL 2021-08-30 12:09

    那有什么方法可以保证C不变的情况下 增加相应的D值吗?

    回复
    CSDN专家-sinJack 回复 SharkQL 2021-08-30 12:12

    select A,B,count()as C group by A,B from X的结果作为临时表与x进行关联查询。

    回复
    SharkQL 回复 CSDN专家-sinJack 2021-08-30 12:20

    可以用前面的 union select D from X 这样的吗

    回复
    展开全部5条评论
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月1日
  • 已采纳回答 8月30日
  • 创建了问题 8月30日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部