mysql分组统计 显示统计为0的项

mysql分组统计 显示统计为0的项,第1张

可直接用嵌套查询。

方法如下:

如数据:

id name

1a

1b

2c

2d

3e

3f

3g

3h

select count(t.counts) from

(select id,count(*) counts from 表名 group by id) t

这样得到的结果就是3。

▲ count(*)

统计查询结果集返回的行数.

▲ count(ve)

统计值表达式返回的非空值的个数.

▲ count(distinct ve)

统计值表达式返回的非空不同值的个数.

▲ sum(ve)

统计值表达式返回的非空值的和.

▲ sum(distinct ve)

统计值表达式返回的非空不同值的和.

▲ avg(ve)

统计值表达式返回的非空值的平均值.

▲ avg(distinct ve)

统计值表达式返回的非空不同值的平均值.

▲ max(ve)

统计值表达式返回的非空值的最大值.

▲ min(ve)

统计值表达式返回的非空值的最小值.

由group by子句来实现的.

语法:

(1)分组的引入

(2)分组定义

指定某列或某些列作为划分的依据,比较这些列值是否相同,具有相同列值的行放在同一组,这样就可以将最初的结果集划分为若干个子集,每个子集称为一个分组.

一般来说有多少个不同的列值就可以分为多少组.

语法:

指定某列或计算列作为统计的对象,将统计函数作用在该对象上,统计函数按照分组自动对每一分组的列值进行统计,每一分组返回一个统计后的结果.

(1)MYSQL对GROUP BY的非ANSI标准扩展

是由having子句来实现的.

语法:

(1)having子句中的子查询

指定测试结果表中根据 case_id 和 sort 字段进行分组,取同一分组中的执行最小时间作为该条用例的开始执行时间,取同一分组中的执行最大时间作为该条用例的结束执行时间。

因为一个测试集可能有多条相同用例,用 sort 作为区分,case_id 和 sort 两个字段一起可以唯一确定执行的是哪一条用例,因此这里需要指定两个字段。

执行结果如下图所示:

根据 case_id 和 sort 字段进行分组,每个分组中取最大状态值作为用例的最终状态。

因为一条用例可能有多个设备执行,每个设备返回的状态值可能不同,这里取最大值作为整条用例的最终状态值。

执行结果如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8610073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存