合并具有重复值的行并显示更新的表

时间:2015-07-22 02:32:37

标签: mysql group-concat

我的购物车导出了一个csv文件,我将其加载到数据库中。给定订单可以用于多个商品。订购的每件商品都有一个单独的行。所以我最终得到了3个相同的行,所有行都具有相同的订单号。除项目字段外,行中的所有字段都具有完全相同的值。

例如我有这个:

Key OrderNumber项目名称地址
1 1 Car Joe 12 Cat Street
2 1卡车乔12猫街
3 1 Van Joe 12 Cat Street
4 2飞机吉姆35狗街
5 2自行车吉姆35狗街
6 3船汤姆18猪街

完整的表格还有更多字段。我可以使用带有group_concat的select语句,但它只显示OrderNumber和Items字段。我想生成一个完整的表,其中所有字段显示根据OrderNumber连接项目。所以它看起来像这样:

Key OrderNumber项目名称地址
1辆汽车,卡车,Van Joe 12 Cat Street
2 2飞机,自行车吉姆35狗街
3 3 Van Tom 18 Pig Street

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

这是您想要的查询吗?

select (@rn := @rn + 1) as key, OrderNumber,
       group_concat(items) as items, name, address
from table t cross join (select @rn := 0) params
group by OrderNumber, name, address;

答案 1 :(得分:0)

我错过了“关键”引号。密钥是保留字。

感谢您的帮助!