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

如何按TypeID分组计算Value列的平均值(附SQL示例与测试数据)

验证按TypeID分组计算Value平均值的SQL语句有效性

首先得明确:你写的这条SQL在SQL Server环境下是语法错误的——GROUP BY子句后面不能直接跟DISTINCT关键字。原因很简单:GROUP BY本身就是基于指定列的唯一值来分组的,它会自动把相同TypeID的行归为一组,完全不需要额外加DISTINCT来做去重操作。

正确的实现语句

如果你想得到每个TypeID对应的Value平均值,同时明确看到每个平均值归属的TypeID,正确的SQL应该是这样:

SELECT 
    TypeID,
    AVG(Value) AS AvgValue
FROM dbo.TableTest
GROUP BY TypeID

用你的测试数据验证结果

我们来手动计算你的测试数据,看看执行上述SQL后会得到的结果:

  • TypeID=10:两条记录的Value是2和0.90,平均值是(2 + 0.90)/2 = 1.45
  • TypeID=14:只有一条记录,平均值就是1.21
  • TypeID=15:只有一条记录,平均值就是0.90
  • TypeID=18:只有一条记录,平均值就是51

执行正确的SQL后,返回的结果集会完全匹配上面的计算值,完美满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:44:36