簡體   English   中英

我需要一個查詢,該查詢將獲取具有4種不同條件的sum(column),其中條件按條件分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM