0

我有一个这样的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

4 回答 4

2
SELECT GROUP_CONCAT(DISTINCT category ORDER BY category) FROM TableName

输出

╔══════════════════════════════════╗
║              RESULT              ║
╠══════════════════════════════════╣
║ category-A,category-B,category-C ║
╚══════════════════════════════════╝
于 2013-04-26T07:42:19.237 回答
1

在您的查询中使用DISTINCT,它消除了重复的条目

SELECT GROUP_CONCAT(DISTINCT category )
FROM your_table
于 2013-04-26T07:41:45.597 回答
0

尝试

SELECT DISTINCT columnName FROM table_name

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

于 2013-04-26T07:43:52.513 回答
0

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

从 mytable 中选择 DISTINCT 类别

于 2013-04-26T07:42:29.537 回答