2012-01-06 20 views
17

Về cơ bản, tôi đang cố gắng như sau:SUM (subquery) trong MYSQL

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

này dường như không làm việc. Có giải pháp nào không?

Trả lời

23

Tại sao bạn không làm điều này:

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

Cảm ơn, nó làm việc cho tôi,, Good job. . –

4

có - sử dụng tham gia

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 được sử dụng bên trong chọn thứ hai, nơi mà chúng tôi muốn tổng hợp các cột. Cột col2 có thể là cột không rõ ràng, nếu cột đó tồn tại trong bảng m.

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