关于将查询得到的数据如何进行分组

这是数据库,有很多条船的信息,每条船也不止一条信息(比如40119就有两条信息)
图片说明
我现在想把数据取出来之后进行分组船名相同的数据为一组,将信息整理成如下图一样的展现形式
图片说明
数据库的“ID_DetectItem”对应设备名称,下面放上“Val_Detect”的值,例如
图片说明
这是前端的代码,想请教要如何编写代码能实现上述的情况。

 <table border="1" align="center">
    <tr>
        <td align="center">船名</td>
<%
    List<DetectItem> list = (List<DetectItem>)request.getAttribute("list");
    if(list == null || list.size() <1 ){
        out.print("没有数据!");
    }else{
        for(DetectItem di : list){
            String[] ItemName = {di.getItemName()};
            for(int i=0;i<ItemName.length;i++){
        %>
        <td align="center"><%=ItemName[i]%></td>
    <%}
    }
}%>
    </tr>
</table>

mysql吗?可以用group_concat+group by组合成一条数据,客户端依据组合后的数据一次填充每列的值就行了

参考这个:https://www.cnblogs.com/thiaoqueen/p/7710927.html

select * from shujuku group by shipname

select from你需要对应的多个表,然后用关联的字段进行join,最后用shipname做group

select shipname,count(id_detectItem),count(val_detect) from DetectResult group by shipname

如果是mysql 的话,你可以用group by分组解决,group by后面写你想要查询的字段,可以多个字段一起分组用(,)分开,如果多表关联记得带上别名,

分组的话一般是使用groupBy+需要进行分组的字段,来进行数据的分组。