一个字段中的SQL数据用逗号分隔

时间:2013-01-31 10:12:58

标签: mysql sql

  

可能重复:
  Can I concatenate multiple MySQL rows into one field?

我有三个表项,大小和item_sizes,用于多对多的关系,我可以查询:

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

但我想要这个:

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

速度并不重要我只想要结果。我可以用while循环来做但是有另一种方法来做这个查询吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:4)

查询:

<强> SQLFIDDLEEXample

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

结果:

|  ITEM |     SIZE |
--------------------
| dress | S, L, XL |
| shirt |    L, XL |

答案 2 :(得分:3)

尝试GROUP_CONCAT()

SELECT item, GROUP_CONCAT(size)
FROM table_name
GROUP BY item