灬糖糖灬 2022-01-19 06:16 采纳率: 100%
浏览 62
已结题

【SQL】怎么在对已分组数据进行总合计并在列中展示

问题:希望能在分组合计数据后再加一列总计
数据源:

img

分组后数据
等级 数量
A 524
B 3101
C 12546
D 21218

希望呈现效果
等级 数量 总计 总占比
A 524 37389 1.40%
B 3101 37389
C 12546 37389
D 21218 37389

不知道要怎么把‘总计’放到列里,用union就只能放到行的位置,求指导,谢谢~~

  • 写回答

3条回答 默认 最新

  • 像风一样  2022-01-19 06:23
    关注

    提供一个思路,先获得 下面的结果集
    等级 总计 总占比
    A 37389 1.40%
    B 37389 1.40%
    C 37389 1.40%
    D 37389 1.40%
    在left join on a.等级 = b.等级
    分组后数据
    等级 数量
    A 524
    B 3101
    C 12546
    D 21218
    以下是MySQL的写法,即:

    select a.等级,a.数量,b.总计,b.百分比
    from (分组后的数据) a 
    left join (总计、百分比等结果集) b on a.等级 = b.等级
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    灬糖糖灬 2022-01-19 06:46

    就是这个数据集做不出来。。。想哭。。
    数据源是只有 ID、等级,有30000多行,就不知道怎么怎么计算出这个:

    等级 总计 总占比
    A 37389 1.40%
    B 37389 1.40%
    C 37389 1.40%
    D 37389 1.40%

    回复
    像风一样  回复 灬糖糖灬 2022-01-19 06:50

    什么数据库?

    回复
    灬糖糖灬 回复 像风一样  2022-01-19 06:55

    hive

    回复
    展开全部6条评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月19日
  • 修改了问题 1月19日
  • 创建了问题 1月19日
手机看
程序员都在用的中文IT技术交流社区

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

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

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

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

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

客服 返回
顶部