MySQL:如何计算按Opname_OpnameID分组后的计数平均值?
解决方案
嘿,要计算这些分组计数值的平均值很简单,你只需要把现有的查询作为子查询(或者用CTE),然后对统计出来的计数字段求平均就行。这里给你两种常见的写法:
方法一:子查询写法
SELECT AVG(behandelingen_per_opname) AS average_behandelingen_per_opname FROM ( SELECT Opname_OpnameID, COUNT(*) AS behandelingen_per_opname FROM behandeling GROUP BY Opname_OpnameID ) AS grouped_counts;
方法二:CTE(公共表表达式)写法(更易读)
WITH grouped_counts AS ( SELECT Opname_OpnameID, COUNT(*) AS behandelingen_per_opname FROM behandeling GROUP BY Opname_OpnameID ) SELECT AVG(behandelingen_per_opname) AS average_behandelingen_per_opname FROM grouped_counts;
简单解释:
- 内层(或CTE里的)查询先完成你原本的需求:按
Opname_OpnameID分组,统计每个分组的记录数,得到每个Opname_OpnameID对应的处理次数。 - 外层查询再对这些统计出来的数值计算平均值,最终得到所有分组计数值的平均结果。
这样就能精准得到你想要的结果啦!
内容的提问来源于stack exchange,提问作者Duckyhercules
相关产品推荐
相关产品推荐

