У меня есть таблица сбора1 со следующими столбцами:
id (INT)
col1 (VARCHAR)
col2 (VARCHAR)
value (INT)
Я хочу рассчитать среднее значение отдельно на col1
и col2
, чтобы получить такой ответ:
{
averageByCol1: {col1Value1: 23, col1Value2: 44},
averageByCol2: {col2Value1: 33, col2Value2: 91}
}
Пытался использовать несколько столбцов в GROUP BY, но это объединяет столбцы:
SELECT
CONCAT(col1, col2, AVG(value))
FROM table1
GROUP BY col1, col2
Также пытался с подзапросом, но это дает мне Subquery returns more than 1 row
ошибка:
SELECT
(SELECT
CONCAT(col1, AVG(value))
FROM table1
GROUP BY col1) AS col1Averages,
(SELECT
CONCAT(col2, AVG(value))
FROM table1
GROUP BY col2) AS col2Averages;
Использование Mysql v5.5.
редактирование с примерами данных:
id col1 col2 value
1 v1 b1 34
2 v2 b1 65
3 v1 b1 87
4 v1 b2 78
5 v2 b2 78
6 v1 b2 12
Требуется среднее значение value
для v1, v2, b1 и b2 независимо.