SQL 之 Group By

SQL 之 Group By

Group By从字面意义上理解就是根据By指定的规则对数据进行分组,所谓的分组就是将一个数据表划分成若干个小区域

例如有这么一张表

在执行group by 类别操作之后表就变成了这种形式

无标题文档
类别
a
数量 摘要
5 a2002
2 a2001
11 a2001
b
数量 摘要
10 b2003
6 b2002
3 b2001
c
数量 摘要
9 c2005
9 c2004
8 c2003
7 c2002
4 c2001

因为是按照类别进行分组,所以分组后的表中就只剩下字段类别了,其他的字段全部被保存在中。

注意:中的字段是无法被SELECT关键字访问的,如果访问了就会出错。

例如:  Select 数量 from test group by 类别;

这时软件就会提示——(在sql server中是这样的,在mysql中是随便列出组中的一列)
选择列表中的列 '数量' 无效,因为该列没有包含在聚合函数或GROUP BY 子句中。

因为数量摘要字段都在组中,SELECT关键字找不到这两个字段,所以就会出错。

如果只是查询 类别就不会出现问题,因为 类别不在组中,所以SELECT关键字就可以找到该字段。

你可能感兴趣的:(SQL 之 Group By)