首先建表如下
执行SELECT name FROM test GROUP BY name
结果:
-----
Name
-----
aa
bb
cc
dd
ee
为了便于理解在上面两个表之间加一个虚拟过度表
相当于先对数据做一次分类,然后给出最后结果
但是
若直接执行select * 反而会报错,因为当个单元格中不允许有多个内内容存在,会导致关系混乱
简单来说 group by的最终结果只能从group by后面的字段中选择展示
若要累计可以使用count(id)和sum (number)
count()统计记录数 同列
sum() 做求和操作,对同列内容求和
Gourp by 多个字段时,可以把多个字段看成一个整体进行分组,需要同时满足多个一致的条件进行分组
若以group by name,number 则可以这样理解
见下图:
如此 select 中便可以加入 name,number
但 id依旧不可以加入
如:
SELECT name,number FROM test GROUP BY name,number