SQL 将 3 行合并为 1,将其他值合并为字符串

SQL combine 3 rows to 1 with other values combined to string

嘿,我无法合并 3 行具有相同数字但不同值的行。

我有一个 table 看起来像这样:

artikelnummer kategorie
34462 264
34462 460
34462 331

我想为 CSV 导出创建一个 SQL 语句,如下所示:

artikelnummer kategorie
34462 "264|460|331"

用法:

   SELECT artikelnummer ,GROUP_CONCAT(kategorie)
    FROM your_table_name
    GROUP BY artikelnummer ;

CONCAT函数用于在开头和结尾添加双引号

Group_concat用于CONCAT值,它就像分组值,默认SEPARATOR是,使用SEPARATOR 属性并将其设置为|

SELECT artikelnummer,
       Concat('"', Group_concat(kategorie SEPARATOR '|'), '"') kategorie
FROM   tablename
GROUP  BY artikelnummer;