mysql - SQL将多列的不同值连接成一行

标签 mysql sql

我有这个 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;

关于mysql - SQL将多列的不同值连接成一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28525892/

相关文章:

c# - Datagridview 多查询字符串问题

python - 如何使 ON DELETE CASCADE 在 sqlite 3.7.4 中工作?

php - 如何从 MySQL 表的有序 ID 列表中获取有序行列表?

php - SQL/PHP 多值过滤(AND LIKE 'array[1]' AND LIKE 'array[2]' )

mysql - 通过比较时间来获取和分组数据

具有多个求和的Mysql计算不起作用

sql - 如何合并两个 MySQL 表?

php - 生成 PHP/MySQL 引用 ID

mysql - 如果满足条件,如何删除MySQL中的行

mysql - SQL Server 存储过程到 MySQL