这是数据库,有很多条船的信息,每条船也不止一条信息(比如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+需要进行分组的字段,来进行数据的分组。