排序

image.png有三列数据,需求是先不管地区,按照银行分类,求和金额,即将A银行的金额求和(1+2),按照求和的值从大到小排列,目前sql是 select 银行,地区,sum(金额) as 金额 from sss 

group by 银行,地区,求sql该怎么写 image.png

FineReport BIGDATA 发布于 2023-10-24 14:15 (编辑于 2023-10-24 14:20)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-7-6 10:26

你的分类是想把金额最大银行放前面

先求出银行的总金额

最后按照总金额排序

参考SQL

select a.银行, a.金额 as 银行总金额, b.地区, b.金额

  from (select 银行, sum(金额) as 金额 from sss group by 银行) a

  left join (select 银行, 地区, sum(金额) as 金额 from sss group by 银行, 地区) b

    on a.银行 = b.银行

 order by 银行总金额 desc

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-10-24 14:17

 select 银行,地区,sum(金额) as 金额 from sss 

group by 银行,地区

 order by sum(金额) desc

  • BIGDATA BIGDATA(提问者) 这个有问题的,已经放在问题中了
    2023-10-24 14:21 
  • BIGDATA BIGDATA(提问者) 从左往右是从大到小,单有的银行有三笔数据,总和是比左边大的,但是展示的时候排序在后面了
    2023-10-24 14:21 
  • Z4u3z1 Z4u3z1 回复 BIGDATA(提问者) 没看出啥问题?你图表先按照银行名称分类了,肯定就先遵循银行排序了
    2023-10-24 14:23 
  • 2关注人数
  • 244浏览人数
  • 最后回答于:2024-7-6 10:26
    请选择关闭问题的原因
    确定 取消
    返回顶部