2017-11-03 10 views
0

によってグループが含まれる条件は、私のクエリの異なる4との合計(列)を取得しますクエリ必要があります。私はここで条件

SELECT 
    date, 
    (SELECT sum(sessions) as org FROM datatwo WHERE medium='Organic Search' GROUP by date), 
    (SELECT sum(sessions) as soc FROM datatwo WHERE medium='Social' GROUP BY date), 
    (SELECT sum(sessions) as dir FROM datatwo WHERE medium='Direct' group by date), 
    (SELECT sum(sessions) as ref FROM datatwo WHERE medium='Referral') 
FROM datatwo 
GROUP BY date 

私は、単一のクエリで4つのクエリを結合しようとしていますが、私はをこのエラーが発生すると、mysql DBを使用しています。

1242 - サブクエリは複数行

答えて

1

あなたが列としてクエリの結果を使用する場合、それは正確に1行1列を返さなければなりませんが返されます。

(SELECT sum(sessions) as org FROM datatwo WHERE medium='Organic Search' GROUP by date) 

dateの値ごとに1つの行が返されます。

私はあなたがこれをしたい疑う:

SELECT 
    date, 
    sum(case when medium='Organic Search' then sessions end) as org, 
    sum(case when medium='Social' then sessions end) as soc, 
    sum(case when medium='Direct' then sessions end) as dir, 
    sum(case when medium='Referral' then sessions end) as ref 
FROM datatwo 
GROUP BY date 
+0

私は、グラフをプロットするために、このデータを必要とするので、私は可能な解決策のために編集された答えを参照@Testそれを –

+0

を行う方法を、すべての明確な日付値の行を必要としています。いくつかのSQLチュートリアルの恩恵を受けるでしょう。 – Bohemian

+0

ありがとう@ボヘミアンあなたは本当にSQLの教祖です、それは私のために働いたあなたは私にいくつかのチュートリアルを参照してくださいできます –

関連する問題