Java/Sql:返回特定列问题的平均值

Java/Sql:返回特定列问题的平均值,java,sql,mysql,jdbc,Java,Sql,Mysql,Jdbc,我在Java中使用嵌入式SQL。我有一个简单的表格,我想从包含温度的列中返回一个平均值。我尝试使用ResultSet但没有成功,我认为这可能是因为平均值只返回单个数据,而不是一个集合。我试着用谷歌搜索它并查看sun网站的文档,但没有成功。甚至我的老师都不记得怎么做:) 它输出:平均温度为com.mysql.jdbc。JDBC4ResultSet@16897b2 我非常了解sql,但是嵌入Java对我来说是新的。请帮忙 提前感谢试试这个: ResultSet aveTemp = stat.exec

我在Java中使用嵌入式SQL。我有一个简单的表格,我想从包含温度的列中返回一个平均值。我尝试使用ResultSet但没有成功,我认为这可能是因为平均值只返回单个数据,而不是一个集合。我试着用谷歌搜索它并查看sun网站的文档,但没有成功。甚至我的老师都不记得怎么做:)

它输出:平均温度为com.mysql.jdbc。JDBC4ResultSet@16897b2

我非常了解sql,但是嵌入Java对我来说是新的。请帮忙

提前感谢

试试这个:

ResultSet aveTemp = stat.executeQuery("SELECT AVG(T_TEMP) FROM TrailTracker"); 
if (aveTemp.next()) {
    System.out.println("avg temp is " + aveTemp.getFloat(1)); 
}
它从结果集的第一列获取浮点值。您不能只输出结果集,因为这将调用toString方法,该方法将返回类名,后跟@,后跟哈希代码的十六进制表示形式

如果需要将浮点格式化为一定的小数位数,请考虑使用.< /p>

试试:

ResultSet aveTemp = stat.executeQuery("SELECT AVG(T_TEMP) FROM TrailTracker"); 
if (aveTemp.next()) {
    System.out.println("avg temp is " + aveTemp.getFloat(1)); 
}
它从结果集的第一列获取浮点值。您不能只输出结果集,因为这将调用toString方法,该方法将返回类名,后跟@,后跟哈希代码的十六进制表示形式

如果需要将浮点格式化为一定数量的小数位数,请考虑使用.< /P> 请记住,对于

ResultSet
,索引以
1
开头。在尝试获取任何值之前,必须调用
next()
。是的,
ResultSet
是空安全的,这意味着它不会是
null


请记住,对于
ResultSet
,索引以
1
开头。在尝试获取任何值之前,必须调用
next()
。是的,
ResultSet
是空安全的,这意味着它不会是
null

我刚刚尝试过它。。。我得到异常:在结果集开始之前。首先需要
getNext()
<代码>if(avettemp.getNext())System.out.println(“平均温度为”+avettemp.getFloat(0))按点时,getNext()没有弹出选项。我可以检索velocity列,它也是一个十进制(5,2)类型$ResultSet result=stat.executeQuery(“从TrailTracker中选择*);找到了!!(很抱歉,不确定如何格式化代码,我的第一篇文章)但这里是我所做的更改:aveTemp.next();System.out.println(“avg temp是”+aveTemp.getDouble(1));我刚刚尝试了它…我得到了异常:在结果集开始之前。首先需要
getNext()
if(aveTemp.getNext())System.out.println(“avg temp是”+aveTemp.getFloat(0))
按点时,getNext()没有弹出选项。我可以检索velocity列,它也是十进制(5,2)类型$ResultSet result=stat.executeQuery(“从TrailTracker中选择*);知道了!!(很抱歉,我的第一篇文章不知道如何格式化代码)但我做了如下更改:aveTemp.next();系统输出打印项次(“平均温度为”+aveTemp.getDouble(1))<连我的老师都不记得怎么做了。我会说哇!!!哈哈,我知道。。。没关系,我喜欢自学,我更懂。谢谢。
连我的老师都不记得怎么做了。我会说哇!!!哈哈,我知道。。。没关系,我喜欢自学,我更懂。谢谢
ResultSet rs = stmt.executeQuery("select avg(T_TEMP) from TRAILTRACKER"); 
if(rs.next())
    System.out.println("avg temp is " + rs.getFloat(1));