Подтвердить что ты не робот

SUM (подзапрос) в MYSQL

В основном, я пытаюсь сделать следующее:

SELECT m.col1, SUM(SELECT col5 FROM table WHERE col2 = m.col1)
FROM table AS m

Это не работает. Есть ли какое-либо решение?

4b9b3361

Ответ 1

Почему бы вам не сделать это:

SELECT m.col1, (SELECT SUM(col5) FROM table WHERE col2 = m.col1)
FROM table AS m

Ответ 2

да - использование объединений

SELECT m.col1, SUM(j.col5) FROM table AS m 
       JOIN table AS j ON j.col2 = m.col1 GROUP BY m.col1

Ответ 3

Сумма используется во втором выборе, где мы хотим суммировать столбец. Col2 может быть неоднозначным столбцом, если такой столбец существует в таблице m.

SELECT
    m.col1,
    (SELECT SUM(t.col5) FROM table AS t WHERE t.col2 = m.col1) AS sumcol
FROM table AS m