MySQL查询: 如果根据公司代码将金额汇总?

1 需求:1根据公司代码将金额汇总,并展示其余相匹配信息,此表名为jan1;
图片说明

select 公司代码,sum(金额)
from jan1
group by 公司代码;

至于其余相匹配的信息,只能匹配和公司是同一个层面的,不然,就会出现数据冗余,比如公司简称和公司类型是一个层面的,就可以
select a.公司代码,b.公司简称,b.公司类型,a.总金额
from
(select 公司代码,sum(金额) as ‘总金额’
from jan1
group by 公司代码) a
inner join
(
select distinct 公司代码,公司简称,公司类型 from jan1
) b
on a.公司代码=b.公司代码
这些都是公司层面的,但如果你要匹配销售员,除非该公司只有一个业务员,不然就会出现1对多的数据冗余,当然可以使用列转行实现聚合也是可以的。

先用group by按公司代码分组汇总,把这个查询按公司代码连接(join)上jan1,就可以得到每个销售员的信息和对应公司的总金额信息了

group by按公司代码分组,查询按公司代码连接(join)上jan1

select 公司代码,sum(金额)
from jan1
group by 公司代码;

至于其余相匹配的信息,只能匹配和公司是同一个层面的,不然,就会出现数据冗余,比如公司简称和公司类型是一个层面的,就可以
select a.公司代码,b.公司简称,b.公司类型,a.总金额
from
(select 公司代码,sum(金额) as ‘总金额’
from jan1
group by 公司代码) a
inner join
(
select distinct 公司代码,公司简称,公司类型 from jan1
) b
on a.公司代码=b.公司代码
这些都是公司层面的,但如果你要匹配销售员,除非该公司只有一个业务员,不然就会出现1对多的数据冗余,当然可以使用列转行实现聚合也是可以的。