1

可能重复:
我可以将多个 MySQL 行连接到一个字段中吗?

我有三个表项目,大小和 item_sizes 与连接的多对多关系我可以查询这个:

item     size
shirt    L
shirt    XL
dress    S
dress    L
dress    XL

但我想要这个:

item     size
shirt    L, XL
dress    S, L, XL

速度无关紧要,我只想要结果。我可以用 while 循环来做,但还有另一种方法来做这个查询吗?

4

3 回答 3

6
select item, group_concat(size)
from the_table
group by item;

手册中的更多详细信息:http: //dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat

于 2013-01-31T10:16:57.880 回答
4

询问:

SQLFIDDLE示例

SELECT item,
       group_concat(size separator ', ') AS SIZE
FROM Table1
GROUP BY item

结果:

|  ITEM |     SIZE |
--------------------
| dress | S, L, XL |
| shirt |    L, XL |
于 2013-01-31T10:21:20.667 回答
3

试试GROUP_CONCAT()

SELECT item, GROUP_CONCAT(size)
FROM table_name
GROUP BY item
于 2013-01-31T10:19:24.163 回答