数据表中数据存在1对多,如何合并多条数据为1条?
1. 关键词 : GROUP_CONCAT()
先看看GROUP_CONCAT语法:
GROUP_CONCAT ( [DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’] )
以 user_id 分组,把 hobby 字段的值打印在一行,逗号分隔(默认)
SQL例句:
SELECT GROUP_CONCAT(hobby) as hobby,user_id from t_trade_demand GROUP BY user_id;
左连接LEFT JOIN 拓展、试例:
SELECT table_a.uid,table_b.hobby FROM table_a
LEFT JOIN (SELECT GROUP_CONCAT(hobby) as hobby,user_id from t_trade_demand GROUP BY user_id) AS table_b
ON table_a.uid = table_b.user_id;