[英]I need a query that will get the sum(column) with 4 different where conditions which includes group by condition
這是我的查詢:
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行
當您將查詢結果用作列時,它必須恰好返回一行和一列。 像這樣的表達式:
(SELECT sum(sessions) as org FROM datatwo WHERE medium='Organic Search' GROUP by date)
將為每個不同的date
值返回一行。
我懷疑你想要這個:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.