我的目标: 让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office软件为其服务。支持我,也为自己加油!
最近连续碰到的几位客户都有同样的需求,从系统中导出的数据源比较大,或者是经年累月数据量越来越大,呈现给上级的报表不需要包括数据源,只需要结果报表即可,公司对数据管理管理方面并未采用数据库,或者是采用了数据库,但不是所有人都会查询语言,都是从数据库里导出最全的数据然后利用Excel去分析。
今天分享下最近解决问题时常用的几个SQL语句:
数据源结构如下(真实数据源有很多列,此处经过简化):
1、查询不重复的客户编码记录
select distinct(客户编码) from [订单表$]
2、求客户编码记录条数
select count(客户编码) as 客户编码条数 from [订单表$]3、求不重复的客户编码条数
select count(客户编码) as 客户编码数量 from (select distinct(客户编码) from [订单表$])
4、汇总每个客户编码相同日期的订单金额
select 客户编码,left(订单时间,10) as 时间,sum(订单金额) as 订单金额 from [订单表$] group by 客户编码,left(订单时间,10)
5、求每个客户编码对应的日期的订单笔数
select 客户编码,left(订单时间,10) as 时间,count(客户编码) as 订单笔数 from [订单表$] group by 客户编码,left(订单时间,10)
6、求每个客户编码对应的日期的订单笔数,排除客户编码以为”AC“开头的客户编码
select 客户编码,left(订单时间,10) as 时间,count(客户编码) as 订单笔数 from [订单表$] where 客户编码 not like 'AC%'group by 客户编码,left(订单时间,10)
7、求每个客户编码对应的日期的订单笔数,日期横着放
transform count(客户编码) select 客户编码 from [订单表$] group by 客户编码 pivot left(订单时间,10)
在Excel中练习时大家完全可以自己设置一个模板,直接写SQL语句运行即可,如下:
本节先分享到这里,祝大家每天都有进步。