首页 > 解决方案 > 如何求和一列的总值并将其添加到表的末尾?

问题描述

Hwllo,我正在尝试总结 jTable 中列的值并将其添加到表的末尾。例如:我想对 unit_price 列的值求和...

任何人都可以帮助我吗?

我编码的方式:

 ...

    Statement st= 
    con.createStatement();
    ResultSet rs= 
    st.executeQuery("SELECT id, 
    item_name, unit_price From item");
    rs.last();

    int row= rs.getRow();
    int column= 
    rs.getMetaData.getColumnCount();
    String[][] data= new String[row]. 
    [column];
    rs.beforeFirst();
    int x=0;
    while(rs.next){
    for(int i=0; i<column; i++){
    data[x][i]=rs.getString(i+1);
    }
     x++;
     }
    String columns=. 
      {"Id","Item_name","Unit_price"};
    jTable1 = new 
    javax.swing.JTable(data, columns);
    jScrollPane1.setViewportView(jTable1);

标签: java

解决方案


使用下一个查询而不是SELECT id, item_name, unit_price From item

SELECT id, 
       CASE WHEN id IS NULL
            THEN 'TOTAL'
            ELSE MAX(item_name) 
            END item_name, 
       SUM(unit_price) unit_price 
FROM item
GROUP BY id WITH ROLLUP;

我假设这id是表的主键。

如果您需要某些特定的排序顺序,则该ORDER BY子句必须如下所示

ORDER BY id IS NOT NULL, {needed sorting expression}

推荐阅读