You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中按两列分组并计算平均值与样本数量?

问题解决:为分组SQL查询添加样本数量统计列

原始数据表结构

x   y    z
a   ab   2
a   ab   4
a   ac   4
b   ab   6
b   ab   4
b   ad   8
c   ac   10
c   ac   10

期望查询结果

x   y    avg_z  number_of_sample
a   ab   3      2
a   ac   4      1
b   ab   5      2
b   ad   8      1
c   ac   10     2

当前已写SQL语句

SELECT x, y, AVG(z) AS avg_z
FROM table1
GROUP BY x, y

解决方案

只需在SELECT语句中添加COUNT(*)函数统计每组样本数量,将其命名为number_of_sample即可。完整SQL如下:

SELECT x, y, AVG(z) AS avg_z, COUNT(*) AS number_of_sample
FROM table1
GROUP BY x, y

说明

  • COUNT(*)会统计分组内的所有行数量,不受z列是否为空的影响;若仅需统计z列非空的行数,可替换为COUNT(z)。
  • 由于已按x和y分组,COUNT(*)会自动匹配分组逻辑,计算每个分组对应的样本总数。

内容的提问来源于stack exchange,提问作者Tmiskiewicz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:12:01