MySQL聚合查询函数之SUMIFmysql中sumif

group_concat的用法

mysql?group_concat()函数用法总结

上周我查看了 MySQL 的 group_concat 文件。

基本功能是合并字符串。

例如:
sql 选择城市,GROUP_CONCAT(玩家名称) 玩家数量 按城市分组;
结果将按城市分组,玩家姓名以逗号分隔。

如果不分组,将列出所有玩家姓名。


选择 GROUP_CONCAT(玩家名称) 玩家数量;
可能的结果类似于:“长沙、北京、北京”。

可以设置限制器。
默认是逗号。


SELECT GROUP_CONCAT(玩家名 SEPARATOR ';') 玩家数量;
就会变成:“长沙;北京;北京”。

有身高限制。
默认值似乎是 1 02 4
sql 设置会话group_concat_max_len = 1 0;
如果超过长度就会被截断。

如果我合并多个字段会怎样?

SELECT GROUP_CONCAT(玩家姓名,年龄) 玩家数量 按城市分组;
结果会好坏参半。
例如:'长沙,3 0;北京,2 5 ;北京,3 0分钟。
这样就很难看得清楚了。

一般建议只合并一个字段。

应用场景?例如,查看每个城市的玩家列表。

总之,这个功能非常好用。

算了。

MySQL怎样分组汇总数据 GROUP BY与聚合函数实战

GROUP BY的主要功能是根据列值创建分组,并用聚合函数组合数据。

真实故事:2 02 0年,某电商报表系统由于没有使用GROUP BY,导致订单金额统计出现3 0%的错误。
NUMBER:在不指定聚合函数的情况下,MySQL GROUP BY 根据列值返回第一行(非标准)。

不要相信这一点:WHERE 和 GROUP BY 混合过滤条件。
不要:使用 HAVING 来过滤聚合结果。

实用提醒:创建索引前分析执行计划。