有這麼乙個資料集:
session_id
row_number
sku_idaa2
aaa3c
aa1bbb
2dbb3
cbb1a
bb4a根據session_id分組,將sku_id按照row_number的順序,多行拼接成一行。
**:
select
session_id,
collect_list(sku_id),
collect_set(sku_id)
from
(select * from temp.tmp_as_test order by row_number desc)b
group by
session_id
**比較簡單,主要是比較巧妙。輸出結果為:
aa["c","a","b"]
["c","a","b"]
bb["a","c","d","a"]
["a","c","d"]
達到了預期的要求。
SQL Server 將兩行或者多行拼接成一行資料
乙個朋友,碰到乙個問題。就是查詢出來的結果集,需要每隔三行。就將這三行資料以此拼接為一行顯示。起初我想著用row number加case when去做,發現結果並非我預期那樣。結果如下 由於別人的資料,不方便顯示。查詢出來還是為三行資料,只是將其餘部分展現出了空值。這種結果是不行的。這裡的左連線條件...
SQL Server將一列的多行內容拼接成一行
昨天遇到乙個sql server的問題 需要寫乙個儲存過程來處理幾個表中的資料,最後問題出在我想將乙個表的乙個列的多行內容拼接成一行,比如表中有兩列資料 類別名稱 aaa企業1 aaa企業2 aaa企業3 bbb企業4 bbb企業5 我想把這個表變成如下格式 類別名稱 aaa企業1,企業2,企業3 ...
SQL Server將一列的多行內容拼接成一行
比如表中有兩列資料 ep classes ep name aaa 企業1 aaa 企業2 aaa 企業3 bbb 企業4 bbb 企業5 我想把這個表變成如下格式 ep classes ep name aaa 企業1,企業2,企業3 bbb 企業4,企業5 一開始挺頭疼的 會了的肯定沒有這種感覺,不...