1.group_concat函数使用
group_concat函数主要配合group by 使用,用于分组后将一组中的某个字段拼接在一起就可以使用gorup_concat.
用法:
select group_concat(拼接字段) from xxx group by 分组字段;
去重:
select group_concat(DISTINCT 拼接字段) from xxx group by 分组字段;
去重然后修改默认分隔符:
select group_concat(DISTINCT 拼接字段 SEPARATOR '-') from xxx group by 分组字段;
2.在一对多的情况下,一张表中冗余另一张表的数据,多条数据使用分隔符拼接.判断id和名称个数是否对应的上:
如图: id=1的数据 字段origin_node_id和origin_node_name通过通过‘-’分隔后数量对不上。
可以这么统计数量对不上的数据
select id,line_code,origin_node_id,origin_node_name from t_line
where (LENGTH(origin_node_id) - LENGTH(REPLACE(origin_node_id, '-', '')) + 1)
<> (LENGTH(origin_node_name) - LENGTH(REPLACE(origin_node_name, '-', '')) + 1)