1.group_concat()函数
group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。
sql = "SELECTcustomer_name,GROUP_CONCAT(channel) FROM channel_infos GROUP BYcustomer_name"
实际中什么时候需要用到这个函数?
假如需要查询的结果是这样:左边显示组名,右边想显示该组别下的所有成员信息。用这个函数,就可以省去很多事情了。
2.group by
group by的原理是将其指定列的值一致的行归为一组。那么,空值也归为一组。通俗理解group by:根据group by指定的列,列值如果相同行划分到一组中去。
使用经验:groupby常常跟聚合函数count进行使用,这样实现按照分组进行统计的效果。比如:需要统计每个地方的商品数量。那么就按照地方进行分组(同一个地方的先划到一组中),之后使用统计函数,就是针对组的成员进行统计了。进行分组之后的好处,是方便按组别进行统计,并不能实现像上面效果(按组别显示出所有行)。如果不是需要进行统计,使用groupby,我认为就没有实际意义,因为此时取出的结果比较意外,并不是自己想要的。