在mariadb存储过程查询中需要快速的小帮助-

问题描述

在mariadb存储过程查询中我需要帮助-

需要获得(COUNT(ID)*AvgWeight) from table A group by AvgWeight

的总和

不使用模板插入

我有IDavgweight

1 55
2 55
3 45
4 45
5 45
6 60
7 60

所以我需要sum(2into55+3into45+2into60)作为单个值

解决方法

您可以使用两种聚合级别:

select sum(avgweight * cnt) res
from (
    select avgweight,count(*) cnt
    from mytable
    group by avgweight
) t
,

您可以对子查询执行查询。您描述的所需子查询如下所示:

SELECT COUNT(*) AS count,AvgWeight FROM A GROUP BY AvgWeight

我不太清楚您到底想要什么,但是我假设求和是AvgWeight的总和?您应该能够根据需要调整以下查询:

SELECT SUM(AvgWeight)
FROM (SELECT COUNT(*) AS count,AvgWeight FROM A GROUP BY AvgWeight)