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

按at_id与aicicc_attempt分组求aicicc_tp平均值的SQL问题

问题分析与解决

原查询的核心错误:

  • 窗口函数仅按aicicc_attempt分区,未将at_id纳入分组维度,导致不同at_id的aicicc_tp被合并计算平均值,结果不符合需求。
  • 误用DISTINCT试图去重,无法替代GROUP BY实现多维度分组统计的功能。

正确查询语句

要实现按at_id和aicicc_attempt分组计算aicicc_tp的平均值,需用GROUP BY同时指定两个分组字段,并用函数控制结果小数位数:

SELECT 
    at_id,
    aicicc_attempt,
    ROUND(AVG(aicicc_tp), 2) AS average
FROM iot_athlete_ind_cont_non_cur_chlng_consp
WHERE aicid_id = '3'
GROUP BY at_id, aicicc_attempt;

若需要与示例中的66.66完全一致(而非四舍五入后的66.67),可改用TRUNCATE函数截断小数:

SELECT 
    at_id,
    aicicc_attempt,
    TRUNCATE(AVG(aicicc_tp), 2) AS average
FROM iot_athlete_ind_cont_non_cur_chlng_consp
WHERE aicid_id = '3'
GROUP BY at_id, aicicc_attempt;

验证结果

执行上述语句后,将得到符合预期的结果:

at_idaicicc_attemptaverage
7160
7266.66
3166.66

内容的提问来源于stack exchange,提问作者Naaz-123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:40:31