废话不多说,直接上图文示例,很好用的MySql函数
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )
常用语分组查询,下图是数据库表数据和字段
查询SQL:
SELECT GROUP_CONCAT(third_name) as `values` ,second_name as `name` from dm_ppo_fgjj_extra_data GROUP BY second_name
查询结果:
values里面的分隔符还可以指定,默认为逗号.
如上面的查询结果可以用List<Map<String,String>>进行接收,
想把value值分开取出来,可以用以下方式
List<Map<String,String>> list = mapper.listTypical();
Map<String,List> dataList = new HashMap<>();
for (Map<String, String> map : list) {
String details = map.get("values");
String[] split = details.split(",");
List<String> strings = Arrays.asList(split);
dataList.put(map.get("name"),strings);
}