2012-01-06 5 views
17

In sostanza, sto cercando il seguente:SUM (subquery) in MySQL

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

Questo non sembra funzionare. C'è qualche soluzione?

risposta

23

Perché non fare questo:

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

Grazie, funziona per me,, buon lavoro. . –

4

sì - uso unisce

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

Sum viene utilizzato all'interno della seconda di selezione, dove vogliamo sommare la colonna. Col2 può essere una colonna ambigua, se tale colonna esiste nella tabella m.

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