表看起來是這樣的:如何組相同的表不同的外部查詢和子查詢
id | number | provider| datetime | keyword|country|
1 | 1 | Mobitel |2012-11-05| JAM | RS |
2 | 2 | Telekom |2013-04-25| ASTRO| RS |
3 | 1 | Si.Mobil|2013-04-27| DOMACE| BA |
4 | 4 | Telenor |2013-04-21| BIP | HR |
5 | 7 | VIP |2013-04-18| WIN | CZ |
6 | 13 | VIP |2014-05-21| DOMACE| RS |
7 | 5 | VIP |2014-06-04| WIN | HU |
我需要總結的關鍵詞和國家,並總結再次關鍵字,國家和提供商分組的所有號碼組合的所有號碼全部在一個查詢中。
這裏是我試圖做到這一點:
SELECT (SELECT SUM(number),country, keyword
FROM daily_subscriptions
WHERE datetime >= '2016-02-01 23:59:59'
GROUP BY country, keyword)
num_of_all_subs,
SUM(number) as num_of_subs,
country,
keyword,
provider
FROM daily_subscriptions
WHERE datetime >= '2016-02-01 23:59:59'
GROUP BY country, keyword, provider
但此查詢引發錯誤:
#1241 - Operand should contain 1 column(s)
這是我希望得到:
id | num_of_all_subs|num_of_subs | provider| datetime | keyword|country|
1 | 19 | 4 | Mobitel |2012-11-05| JAM | RS |
2 | 12 | 5 |Telekom |2013-04-25| ASTRO| RS |
3 | 18 | 1 |Si.Mobil |2013-04-27| DOMACE| BA |
4 | 42 | 21 |Telenor |2013-04-21| BIP | HR |
5 | 76 | 23 |VIP |2013-04-18| WIN | CZ |
6 | 13 | 3 |VIP |2014-05-21| DOMACE| RS |
7 | 53 | 11 |VIP |2014-06-04| WIN | HU |
場num_of_all_subs
這意味着讓所有數字的總和可以說JAM(關鍵字)和RS(國家)是19,但是每個Mob itel(提供者)從所有19箇中都是num_of_subs
4,因爲該國和關鍵字還有其他提供者(即使它們未在表模式中顯示)。
請幫我提取這些數據,因爲我卡住了。
在sql-server或mysql之間進行選擇,但不是兩個 –
好,現在顯示您的預期輸出,對於我而言,如果您想在同一行上創建總計和小計,或者希望將它們放在單獨的行中,則不清楚 –
@ThomasG現在清楚了嗎? – Ognj3n