2017-10-11 35 views
-2

我有一個看起來像這樣的表:是否有可能通過SQL中的多行進行GROUP和SUM? (如果是的話:怎樣)

當前表:「original_table」

col_1   col_2    col_3 
0 Non-Saved  www.google.com 10 
1 Non-Saved  www.facebook.com 20 
2 Non-Saved  www.linkedin.com 20 
3 Saved   www.Quora.com  30 
4 Saved   www.gmail.com  40 

我可以導出表,如下面的使用SQL查詢?

col_1   col_2    col_3 
0 Non-Saved  www.google.com 50 
        www.facebook.com 
        www.linkedin.com 
1 Saved   www.Quora.com  70 
        www.gmail.com  

基本上我期待一個表具有從COL_1 DISTINCT值,從COL_2和SUM(col_3),用於在一排從col_3對應值的所有的對應值。

附加上下文:我正在iPython筆記本中運行SQL查詢。

+0

提示:您可以使用[group_concat](https://sqlite.org/lang_aggfunc.html#groupconcat) –

+1

請參閱簡單的sql教程,您將獲得答案。 – fancyPants

+0

對不起!我應該在我的問題中給出更多的背景(剛添加)。我正在iPython筆記本中運行我的查詢。嘗試使用group_concat它給了我以下錯誤: 'AnalysisException:u「未定義的函數:'GROUP_CONCAT'。該函數既不是註冊的臨時函數,也不是在數據庫'default'中註冊的永久函數。' –

回答

0

這個問題最初是標記sqllite作爲RDBMS SQLite的SQL是

select col_1,group_concat(col_2) as col_2,sum(col_3) as col_3 
from yourtable 
group by col_1 
order by sum(col_3) desc; 

現在 - 我們知道這是spark_sql不天真地支持這種類型的東西。請參閱here獲取答案

+0

這將在普通的MySql中工作..但在iPython筆記本中嵌入式查詢失敗。 給了我以下錯誤: 'AnalysisException:U「未定義功能:‘GROUP_CONCAT’這個功能既不是一個臨時註冊的功能,也沒有在數據庫「註冊的永久性功能default'.' –

+0

實際 - 應該在工作sqllite(這是你標記的) –

+0

也許你可以將ipnb保存在某處並鏈接到那個? –

相關問題