Mysql BigSQL中产品相同的连接行
下面是我的样品表Mysql BigSQL中产品相同的连接行,mysql,pivot,concat,unions,bigsql,Mysql,Pivot,Concat,Unions,Bigsql,下面是我的样品表 +---------+----------------------+ | PRODUCT | TYPE | +---------+----------------------+ | WIN 10 | Home | +---------+----------------------+ | WIN 10 | Pro | +---------+--------------------
+---------+----------------------+
| PRODUCT | TYPE |
+---------+----------------------+
| WIN 10 | Home |
+---------+----------------------+
| WIN 10 | Pro |
+---------+----------------------+
| WIN 10 | Pro for Workstations |
+---------+----------------------+
| Linux | Ubuntu |
+---------+----------------------+
| Linux | Red Hat |
+---------+----------------------+
| Linux | Fedora |
+---------+----------------------+
我想使用MySQL将其更改为(转置)如下所示的结果
+---------+-------------------------------+
| PRODUCT | TYPE |
+---------+-------------------------------+
| WIN 10 | Home,Pro,Pro for Workstations |
+---------+-------------------------------+
| Linux | Ubuntu,Red Hat,Fedora |
+---------+-------------------------------+
你能帮我一下吗?我已经尝试了所有我可以使用这个论坛的方法,但是我没有得到我需要的结果,非常感谢你的帮助在mysql中你可以使用group_concat
select product, group_concat(type)
from my_table
group by product
或按命令
select product, group_concat(type order by type)
from my_table
group by product
对于BigSQL,等效函数应该是listag(type)在mysql中,您可以使用group\u concat
select product, group_concat(type)
from my_table
group by product
或按命令
select product, group_concat(type order by type)
from my_table
group by product
对于BigSQL,等效函数应该是ListaGG(type)考虑应用程序代码中数据显示的问题。考虑应用程序代码中数据显示的问题。对于BigSQL,您可以尝试使用ListaGG(类型),最终在组内使用<代码> ListaGG(区分类型,‘,’)来连接<代码>类型<代码>。(按类型排序)但当我在
WHERE
子句中指定一个产品时,我一次只能对一个产品执行此操作。使用组(按类型排序)中的选择产品,LISTAGG(不同类型,,”)时,此方法不起作用。
对于BigSQL,您可以尝试使用LISTAGG(类型)我终于能够在GROUP(ORDER BY TYPE)
中使用Listag(DISTINCT TYPE,,')连接TYPE
,但我只能在WHERE
子句中指定一个产品
。在GROUP(ORDER BY TYPE)中使用SELECT PRODUCT,Listag(DISTINCT TYPE,,'))时,该方法不起作用从我的表格中