如何获取所选列的总和值

时间:2013-09-23 07:04:36

标签: java mysql sql netbeans

我使用之前制作的结果集从indetails表中获得了两个发票ID(“inid”)。而且我想取发票表的数量的和值,它等于我之前拍的发票ID(“inid”)。

表名是“发票”。主键是“inid”(发票ID),“itid”(项目ID),“cuid”(客户ID)。

| inid | itid | cuid | itname | qty | sprice | total|
| 1    | 1    | 1    | item1  | 25  | 250    | 6250 |
| 2    | 1    | 1    | item2  | 15  | 250    | 3750 |

这是我的SQL查询。

try {
    ResultSet rs3 = db.getData("SELECT SUM(qty) AS Total FROM invoice WHERE inid='"  +   rs1.getInt("inid") + "'");

    while(rs3.next()){
        int val =  rs3.getInt("Total");
    }
}
catch (Exception e) {
    JOptionPane.showMessageDialog(null, this.getClass().getName() + "rs2 " + e);
}

我只有第一个原始列“qty”的价值。我想取“qty”的整数值的总和,它等于“inid”(发票ID)

2 个答案:

答案 0 :(得分:1)

这种方式很有用

try {

      ResultSet rs3 = db.getData("SELECT qty FROM invoice WHERE inid='"  +   rs1.getInt("inid") + "'");
int total=0;
       while(rs3.next()){
       total+=rs3.getInt("qty");
      }
System.out.println(total);

  }

  catch (Exception e) {

          JOptionPane.showMessageDialog(null, this.getClass().getName() + "rs2 " + e);
  }

答案 1 :(得分:1)

您可以使用直接总计数量的组。

ResultSet rs3 = db.getData("SELECT SUM(qty) AS Total FROM invoice WHERE inid='"  +   rs1.getInt("inid") + "' GROUP BY inid");