MySql中的加权平均值

Posted

技术标签:

【中文标题】MySql中的加权平均值【英文标题】:weighted average in MySql 【发布时间】:2016-07-13 13:10:47 【问题描述】:

我目前正在使用以下查询来获得最高的平均结果:

select ContentType, AVG(Result) as AvgContent from dopractice where S_Id =@S_Id group by ContentType order by 2 desc limit 1; 

我正在尝试修改我的查询以计算最高加权平均值。

例如:

((X*1)+(Y*2)+(Z*3))/3

有没有办法使用单个查询来做到这一点?

注意:dopractice 表中的列是(Id, StudentId, LessonId, ContentType, result, Date)

【问题讨论】:

【参考方案1】:

试试这个代码。可能对你有帮助。

    select temp.content,MAX(temp.AvgContent)
    FROM
    (
    select ContentType AS content, AVG(Result) as AvgContent 
    from dopractice 
    where StudentId = @S_Id 
    group by ContentType order by ContentType desc
    ) AS temp
   group by  temp.ContentType;

【讨论】:

如何计算建议中的加权平均值?

以上是关于MySql中的加权平均值的主要内容,如果未能解决你的问题,请参考以下文章

group的加权平均值不等于pandas groupby中的总平均值

如何在r中的循环中引导加权平均值

numpy/python 中的加权平均值

使用 NumPy 函数计算 Pandas 中的加权平均值

3 Excel 中的可变加权平均值

如何计算hql中的加权平均值?