sql语句查出多行数据,如何将ID相同的行并成一行,且不相同的字段合成一个字符串

其中相同的字段只需要取一个值即可
2025-03-25 20:55:57
推荐回答(3个)
回答1:

我个人建议你把逻辑写在代码里面
像这种数据库操作很好资源的,严重影响效率
可以先取出一个list
List resultList = 数据库返回
Map map = new HashMap();
for(User user : resultList){
String val ;
if(map.containsKey(user.getID().toString())){
val = map.get(user.getID().toString());
val = val + user.getAnotherItem();
map.remove(user.getID().toString());
}else{
val = user.getAnotherItem();
}

map.put(user.getID().toString(),val);
}
//map里面的东西就是你要的

回答2:

相同ID合并成一行,只需要用联合查询就可以了
不相同的字段合成一个字符串只需要连接符+然后 AS一个别名就OK了~

回答3:

select distinct 字段 from 表名