【问题标题】:i want to sum a column of sql table where date is current date我想对日期为当前日期的 sql 表的列求和
【发布时间】:2023-03-20 23:24:01
【问题描述】:

我想对日期为今天日期的列的值求和,并将其传递给变量。我写了以下代码,但它不起作用。

错误:“列名 sum(Bill_Total) 无效。”它考虑“总和(Bill_Total)”作为一列。

String sql = "select sum(Bill_Total) from t_report where date=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setDate(1, date);
ResultSet rs = pst.executeQuery();
String sum=rs.getString(sql);

谁能告诉我我的查询出了什么问题。提前致谢

【问题讨论】:

  • 在 [Bill_Total] 方括号中给出列名并为 SUM 列提供别名并尝试
  • 你用的是mysql还是sql-server?您同时标记了两者
  • sql server2008.
  • 你能告诉我怎么做吗@ShakeerMirza
  • "选择 sum([Bill_Total]) as TOTAL_BILL from t_report where date=?"试试这个.. @MohitJoshi

标签: java mysql sql-server resultset


【解决方案1】:

是我还是错误是你获取结果的时候?

String sql = "select sum(Bill_Total) as bill_total from t_report where date=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setDate(1, date);
ResultSet rs = pst.executeQuery();
String sum=rs.getString("bill_total");

【讨论】:

  • int sum = rs.getInt("bill_total");
  • 你能显示stackTrace吗?所以在数据库上运行查询看看有什么问题
  • 使用 if(rs.next()){ },然后仅以 rs.getString("bill_amount") 的形式获取数据。
【解决方案2】:

试试这个:

SELECT SUM(Bill_Total) AS `Bill_Total` 
  FROM t_report 
  WHERE date=?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2018-01-02
    • 2019-09-16
    • 1970-01-01
    • 2020-08-23
    相关资源
    最近更新 更多