到目前为止我的代码是:
try{
stmt = con.createStatement();
String sql = "SELECT AVG(WPM) FROM Attempts WHERE Username = ('" + Login.loginUsername + "');
rs = stmt.executeQuery(sql);
int add1 = rs.getInt("AVG(WPM)");
System.out.println("avg temp is " + add1);
}
catch (SQLException err) {
System.out.println(err.getMessage());
}
我的数据库设置如下:
(PK)“AttemptID”整数自动增量
“WPM”整数
(FK)“用户名”Varchar(45)
我希望它根据每个用户名返回平均 WPM。如果我改变线路
int add1 = rs.getInt("AVG(WPM)");
到
String add1 = rs.getString("AVG(WPM)");
没有什么区别。请帮忙。
最佳答案
尝试使用double add1 = rs.getDouble(1);
说明:rs.get...(1)
根据列索引获取列,而不是根据列名称。当您使用选择中的函数时,数据库可能会更改此设置。另外,请使用 double 而不是 int,因为 AVG 返回 double。
关于java - 我需要一个java中的sql语句来查找带有where子句的平均值并返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13831438/