web-dev-qa-db-ja.com

MYSQLのSUM(サブクエリ)

基本的に、私は以下を試しています:

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

これは機能していないようです。何か解決策はありますか?

25
Dänu

なぜこれをしないのですか?

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

はい-結合を使用

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

合計は、列を合計する2番目の選択内で使用されます。列m2は、テーブルmに存在する場合、あいまいな列である可能性があります。

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