MySQL中的GROUP_CONCAT()函數常用于將多行數據合并成一行,常見用途有統計某列的所有值、將某列的值拼接成字符串等。但有時候我們需要對拼接出來的結果去重,這時候就需要使用GROUP_CONCAT()函數的DISTINCT關鍵字。
SELECT GROUP_CONCAT(DISTINCT column_name SEPARATOR ', ') FROM table_name;
以上語句中的DISTINCT關鍵字指定了要去重的列,其余語法與正常的GROUP_CONCAT()函數用法相同。在去重之后,我們還可以通過指定SEPARATOR關鍵字來定義每個值之間的分隔符。
需要注意的是,DISTINCT關鍵字只會對拼接出來的結果去重,并不會影響原表中的數據。如果需要對原表中的數據進行去重,可以使用GROUP BY語句來實現。
SELECT column_name FROM table_name GROUP BY column_name;
以上語句中的GROUP BY語句指定了按照column_name列進行分組,并返回不重復的column_name值。