作者:绿色风
分类:
时间:2022-08-17
浏览:181
楼主 whsfhwm |
Q:如何用SQL实现统计各大区各省份的发货数量并在大区内排名? A:大区与省份对应关系来源于工作表“大区划分”,详细发货清单位于工作表“发货清单”中,需要通过inner join … on …两表内连接、group by分组 查询、排名、order by排序等相关知识,以及四层select嵌套查询的综合运用实现简单统计及分大区排名。 SQL语句:- select 大区,省份,小计,
- (select sum(1) from
- (select 大区,省份,sum(a.数量) as 小计 from
- (select b.大区,a.省份,a.数量 from [发货清单$] a inner join [大区划分$] b on a.省份=b.省份)
- group by 大区,省份)
- where c.小计<=小计 and 大区=c.大区) as 排名
- from
- (select 大区,省份,sum(a.数量) as 小计 from
- (select b.大区,a.省份,a.数量 from [发货清单$] a inner join [大区划分$] b on a.省份=b.省份)
- group by 大区,省份) c
- order by 大区,小计 desc
SQL实现统计各大区各省份的发货数量并在大区内部进行排名.rar
|
2楼 mn860429 |
学习了,很不错 |
3楼 LOGO |
- select c.*,(select 1+count(*) from (select b.大区,a.省份,a.小计 from(select 省份,sum(数量) as 小计 from [发货清单$] group by 省份)a inner join [大区划分$] b on a.省份=b.省份) d where d.大区=c.大区 and d.小计>c.小计) as 排名
- from (select b.大区,a.省份,a.小计 from(select 省份,sum(数量) as 小计 from [发货清单$] group by 省份)a inner join [大区划分$] b on a.省份=b.省份) c order by 1,3 desc
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一