面试了两家公司 都问到了SQL中的group by。说明这个比较常用也比较基础。
我第一次不知道 第二次我大概讲了自己的理解。我觉得需要学习一下。
1.group by的含义以及用法
2.Sql其他的语句,包括工作中用不到的。
----------------------------
开始学习
1.参考了很多解释和示例。记录下自己的理解。
GroupBy语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
SQL语句就是使用了Group By + 分组字段的方式。
group by一般用于将查询结果分组,配合聚合函数,sum,count,min,max等一起使用。
id | score |
101 | 10 |
101 | 20 |
102 | 20 |
102 | 30 |
103 | 40 |
eg.
select id from TableA group by id (达到的效果有点类似于select distinct id)
结果是 id
101
102
103
select id, sum(score) as score from TableA group by id
结果是 id score
101 30
102 50
103 40
select id,sum(grade) as grade from TableA group by id having sum(grade)>30
结果是 id score
102 50
103 40
Group By 和 Having, Where ,Order by语句的执行顺序:
where》Group By》Having》Order by
where语句中将不符合条件的记录筛掉,减少分组的次数,然后通过Group By指定的分组条件得到的视图进行分组,接着根据Having指定的筛选条件,将分组视图后不满足条件的记录筛选掉,然后按照Order By语句对视图进行排序。
时间不够啦!~今天先学习到这。欢迎指导和补充~~
信息加载中,请等待
微信客服(速回)
微信客服(慢回)