我目前使用下面的查詢得到一些數字:MySQL中的加權平均計算?
SELECT gid, count(gid), (SELECT cou FROM size WHERE gid = infor.gid)
FROM infor
WHERE id==4325
GROUP BY gid;
我在我的當前階段得到的輸出如下:
+----------+-----------------+---------------------------------------------------------------+
| gid | count(gid) | (SELECT gid FROM size WHERE gid=infor.gid) |
+----------+-----------------+---------------------------------------------------------------+
| 19 | 1 | 19 |
| 27 | 4 | 27 |
| 556 | 1 | 556 |
+----------+-----------------+---------------------------------------------------------------+
我試圖計算加權平均值,即
(1 * 19 + 4 * 27 + 1 * 556)/(19 + 27 + 556)
有沒有辦法使用單個查詢來做到這一點?
太棒了...非常感謝您的支持。我正要在一個過程中編寫一個嵌套循環,但接着發現一篇文章說:「如果你需要一個嵌套循環,那麼你沒有看JOIN」:) – Legend 2010-10-08 02:32:59
@legend:建議是正確的,但JOIN也是如果有多個孩子與父母相關聯,則可能存在風險膨脹記錄。如果你想要父項的不同行,最好使用子查詢(EXISTS將是我的建議)。 – 2010-10-08 02:35:28
我明白了。在我的情況下,只有一個元素,但我會記住你的建議。 – Legend 2010-10-08 02:45:10