在mysql表的列中查找所有不同的值

时间:2013-04-26 07:40:09

标签: php mysql

我有一个像这样的mysql表:

+------+-------------+----------+
|  id  | name        | category |
+------+-------------+----------+
|    1 | product 1   |category-A| 
|    2 | product 2   |category-B| 
|    3 | product 3   |category-C| 
|    4 | product 4   |category-B| 
|    5 | product 5   |category-C|
|    6 | product 6   |category-A|
|    7 | product 7   |category-A|
|    8 | product 8   |category-C|
|    9 | product 9   |category-B|
+------+-------------+----------+

有没有像这样返回的函数?

category-A,category-B,category-C

注意:稍后可能会添加新类别。

谢谢。

4 个答案:

答案 0 :(得分:2)

SELECT GROUP_CONCAT(DISTINCT category ORDER BY category) FROM TableName

输出

╔══════════════════════════════════╗
║              RESULT              ║
╠══════════════════════════════════╣
║ category-A,category-B,category-C ║
╚══════════════════════════════════╝

答案 1 :(得分:1)

在查询中使用DISTINCT,它会消除重复条目

SELECT GROUP_CONCAT(DISTINCT category )
FROM your_table

答案 2 :(得分:0)

您只是在寻找所有类别的唯一列表吗?

SELECT DISTINCT category FROM mytable

答案 3 :(得分:0)

尝试

SELECT DISTINCT columnName FROM table_name

这应该为您提供包含该列中所有不同值的结果。