MySQL中 group by、with rollup和 coalesce()的使用
测试表:
GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录
使用 WITH ROLLUP
WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)
例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数:
其中记录 NULL 表示所有人的登录次数。
我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法:select coalesce(a,b,c);
参数说明:如果anull,则选择b;如果bnull,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
以下实例中如果名字为空我们使用总数代替: