如何 sql 具有多个字符串分隔符的列中的不同值 ','

how to sql distinct value inside a column that have multiple string delimeter by ','

enter image description here

大家好,我正在尝试使用 mysql 生成新的 table,它们在具有大量字符串的同一列中具有差异值(这意味着消除重复项)。

我已经尝试了 group_concat(distinct column_name asc column_name separator ',') 但它没有给出我想要的结果,

重要提示:我想在一列中使用不同的值

1号图在sql之前,2号图在group_concat之后sql,还是重复的

谢谢

你可以做到,但你应该听取 PM77-1 的建议,并且你应该规范化你的数据。

就是说...您可以通过以下方式使用临时 table:

CREATE TEMPORARY TABLE temp (val CHAR(255));
SET @S1 = CONCAT("INSERT INTO temp (val) VALUES ('",REPLACE((SELECT GROUP_CONCAT( DISTINCT hashtag_name) AS data FROM hashes), ",", "'),('"),"');");
PREPARE stmt1 FROM @s1;
EXECUTE stmt1;
SELECT group_concat(DISTINCT(val)) as hashtag_name FROM temp;

我做了一个工作 Fiddle。 (因为SQLFiddle这几天行不通我用了rextester.com) http://rextester.com/HMUC89223

结果:

    hashtag_name
1   tido,makan,ittify,general,ittified,travel,lifestyle,minum,air,keyboard,lepak,gg,nice