【问题标题】:how to access one by on value of the stored procedure and calculate the average of them row wise如何逐个访问存储过程的值并逐行计算它们的平均值
【发布时间】:2026-01-22 05:25:02
【问题描述】:

我在 java 中执行了一个存储过程,生成了一个 16 列和 3600 行的表。现在我想逐行访问检索到的表的 3 列,并以逐行方式计算所有列的平均值。为此,我需要一一访问列的值。如何做到这一点。我访问列的代码是

while (rs.next())
					{
					 a1=rs.getDouble(7);
					 a2=rs.getDouble(8);
					 a3=rs.getDouble(10);
					  sum +=(a1+a2+a3);
				
					}
 return sum/3;

但是通过这个,我想我得到了所有列的总平均值。但是我需要逐行的平均列,即第一行的所有三列的平均值,然后是第二行......像这样。

【问题讨论】:

    标签: average


    【解决方案1】:

    您确实是在添加 3 列中的所有值并逐行添加。

    如果您希望逐行显示,那么对于从数据库中获取的每个条目,您需要将结果存储在如下列表中并在需要时返回:

    List<Double> averageList = new ArrayList<Double>();
    while (rs.next())
    {
        a1=rs.getDouble(7);
        a2=rs.getDouble(8);
        a3=rs.getDouble(10);
        averageList.add((a1+a2+a3)/3.0);
    }
    return averageList;
    

    【讨论】:

    • 谢谢你是救命稻草。但现在我必须将这些值存储到现在为空的表的 averge_pressure 列中。怎么做。现在这些值随机显示时尚。
    • 所以使用地图而不是 List 地图,地图将以 id 作为键(主键)和 value 作为平均值。这是后续问题,因此您应该关闭此问题并开始新问题。
    • 我每 90 分钟只能发布一次。所以请你告诉我如何使用地图来完成我的问题。
    • Map averageMap = new HashMap();在 while 循环中,你可以像 averageMap.put(rs.getInt(1), (a1+a2+a3)/3.0);// 我假设第一列是 id 或唯一的东西
    • 再次感谢。如何将这些以表格格式存储在 jsp 页面中。
    最近更新 更多