0

我搜索了添加多个 AVG 计算并找到了一些条目,但是我不得不加入另一个表,而且这样的例子很少。

我能找到的最接近的答案是这个 ,但它处理日期并且没有连接

这是我的桌子:

指标:

StandardScore             IndicatorID      NID    DID
0.033333                  7                1      1
0.907723                  9                1      1
0.574739                  26               1      1
0.917391                  21               1      1
.....

指数指标:

IndexID                   IndicatorID
1                         7
1                         26
2                         21
3                         7
4                         9
4                         21
4                         7
5                         9
.......

我的目标是获得与 NID/DID(指标)组合相关的每个 IndexID(指标指标)的平均值

检索单个值的查询将是

SELECT AVG(StandardScore) FROM `indicators` INNER JOIN indexindicators ON indicators.IndicatorId=indexindicators.IndicatorId WHERE nid=1 AND did=1 AND indexindicators.IndexId=1

最终将有 6 个(indexID)平均值,然后必须将其四舍五入,然后 * 乘以 100(我应该用 PHP 做那部分吗?)

这似乎是一个如此简单的查询,但我似乎无法全神贯注。

在此先感谢您的帮助!

4

1 回答 1

1
SELECT nid, did, indexid, 100.0 * AVG(StandardScore) 
    FROM 'indicators'
    INNER JOIN 'indexindicators'
      ON indicators.IndicatorId=indexindicators.IndicatorId 
group by nid, did, indexid
于 2012-07-25T07:58:17.307 回答