[英]SQL Concatenating distinct values from multiple columns into one row
我有這3列標簽
PRODUCT....CATEGORY......CLASS
X............1.............II
Y............1.............II
Z............1.............II
Y............2.............II
我想返回一行,每列的所有DISTINCT值都為:
RESULT
X Y Z 1 2 II
獲得此結果的最佳方法是什么?
假設各列之間沒有重復項,則可以使用group_concat()
:
select concat_ws(' ',
group_concat(distinct product separator ' '),
group_concat(distinct category separator ' '),
group_concat(distinct class separator ' ')
)
from tab t;
您可以先收集子選擇中的所有值,然后使用group_concat
顯示這些值
select group_concat(v separator ' ')
from (select product as v from testa
union
select category as v from testa
union
select class as v from testa) t
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.