我有三个表项,大小和item_sizes,用于多对多的关系,我可以查询:
item size
shirt L
shirt XL
dress S
dress L
dress XL
但我想要这个:
item size
shirt L, XL
dress S, L, XL
速度并不重要我只想要结果。我可以用while循环来做但是有另一种方法来做这个查询吗?
答案 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)
SELECT item, GROUP_CONCAT(size)
FROM table_name
GROUP BY item