Расчет средневзвешенного значения в 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)

Есть ли способ сделать это с помощью одного запроса?

11
задан Legend 8 October 2010 в 01:17
поделиться