СУММА (подзапрос) в MYSQL - PullRequest
       22

СУММА (подзапрос) в MYSQL

22 голосов
/ 06 января 2012

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

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

Это не похоже на работу.Есть ли решение?

Ответы [ 3 ]

34 голосов
/ 06 января 2012

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

SELECT m.col1, (SELECT SUM(col5) FROM table WHERE col2 = m.col1)
FROM table AS m
4 голосов
/ 06 января 2012

да - использовать соединения

SELECT m.col1, SUM(j.col5) FROM table AS m 
       JOIN table AS j ON j.col2 = m.col1 GROUP BY m.col1
2 голосов
/ 06 января 2012

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

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