最近老嘀咕power query
把SQL语句都给忘得一愣一愣的 今天有个哥们问下怎么用SQL分类汇总 竟然半天没转过弯来 正好写下此篇对自己加以巩固
SQL中的分类汇总就是分组 有个关键字叫'Group By' 一般把这个关键字放在select语句中from关键字的后面 select 字段名 from 表名 group by 分组字段名 嗯,大概就是这么个顺序
光说不练假把式 还是上个例子更直观 有一张'tushu.dbf'表中有'作者'和'书名'两个字段 现在想通过分类汇总得出每位作者各著作了几本图书
标准SQL查询语句为: select 作者,count(书名) as 图书个数 from tushu group by 作者 select的含义:查询字段名'作者',通过count()聚合函数统计'书名'的个数并重命字段名为'图书个数'; from的含义:查询的表名为'tushu'; group by的含义:把前面查询出来的结果以'作者'字段分组(分类汇总)
在Group by关键字中还有一个排序关键字Order By 如果不写上,默认是升序,比如像上图,就是默认升序排列'作者'字段 如果要降序,就不能省略了 升序:Order By 排序字段名 asc (如省略为默认) 降序:Order By 排序字段名 desc select 作者,count(书名) as 图书个数 from tushu group by 作者 order by 作者 desc
看,金庸和古龙的位置是不是调换了位置
需要注意的是Group by关键字必须与聚合函数配合使用 那么聚合函数有哪些呢? 列几个常用的吧 AVG 求平均值 MAX 求最大值 MIN 求最小值 SUM 求和(最常用,60%左右的Group By就是为了求和) COUNT 求数量(次常用,至少20%以上的Group By是为了计数)
换句话理解这个注意事项就是: Group By后面要分组的字段必须在select关键字后面出现,或套上聚合函数出现,否则SQL语句会报错
Group By也是学习SQL查询必须熟悉的一个关键字 查询就是取数据 取数据就有各类分组的需求 常用必备,没有之一 试想我们的汇编怎么做? 是不是下面的流程: 数据清洗-数据连接-分类汇总-导出Excel-排版美化
再说个题外话 Excel中的SQL与这个大同小异 只需给From关键字后面的表名包一对中括号哟
|