2011-11-09 46 views
0

我有一個包含以下值的表。MySQL中的分組

region  state 
--------- ---------- 
region01 state01 
region01 state02 
region02 state03 

關於上述數據,我想在單行中得到所有區域,這就是爲什麼我必須使用GROUP_CONCAT。但似乎我下面的查詢複製了region01並具有

region01;region01;region02 

因此任何一個可以幫助我如何提高以下查詢,以便返回值不應該複製相同的數據

SELECT GROUP_CONCAT(region SEPARATOR ';') AS region 
    FROM table1 
WHERE field1='BUSINESS01'; 

回答

2

添加DISTINCT

SELECT GROUP_CONCAT(DISTINCT region SEPARATOR ';') AS region 
FROM table1 
WHERE field1='BUSINESS01'; 

MySQL manual

DISTINCT指定結果集中去除重複行的。

+0

感謝您的幫助,它現在工作正常 – Bryan

1

u必須使用此語法

SELECT GROUP_CONCAT(DISTINCT region SEPARATOR ';') AS region 
    FROM table1 
WHERE field1='BUSINESS01'; 

其給予ü只有唯一的字段值

+0

感謝您的幫助,它現在工作正常 – Bryan