mysql GROUP_CONCAT使用记录

最近接触到了动态数据库操作,之前没有使用过 GROUP_CONCAT函数,现在用来记录,以免以后忘记,同时分享出来,供参考。其中concat_ws中'//'用来分隔查询结果,即元素;'@'用来分隔不同的查询结果,好了不多说,上代码。

private static final String PRODUCT_SKU_VALUE_SQL = "select GROUP_CONCAT(concat_ws('//',sk.attr_id,sk.attr_value,a.attr_name)  SEPARATOR '@') from ap_products.skuattributevalue sk inner join ap_products.attribute a on sk.attr_id=a.id  inner join ap_products.productitem p on sk.sku=p.sku where sk.sku=?";

查询结果:
1//齿轮//零件名称@2//001//零件编号@3//10001//国外编号@4//Normal//型号@5//China//零件产地@6//宝马公司在1916年3月7日成立,BMW的前身是一家飞机工厂,最初以制造流线型的双翼侦察机闻名于世,前身公司的名字叫BFW,公司始创人名吉斯坦-奥托(Gustan Otto)。1917年7月20日,BFW公司便开始重组,正式名为BMW,1922年,BMW研制了第一台的摩托车发动机,虽然不被采纳,但已为车厂定下了重要的方向,1923年末,他们特约在慕尼克(Munich)生产摩托车,而挂有BMW商标的//备注

以上是我的一知半解,不好的地方请大家指出。

你可能感兴趣的:(mysql)