sql查询语句,,如何用sql返回表中某一字段的最大值

表是voteInfo voteId的类型是int型
现在需要返回 voteId的最大值,,我自己写的java函数如下,,
public int selectvoteId() throws SQLException // 返回最后投票信息存储表中 voteId号最大的voteId的值
{
getConnection db=new getConnection();

db.conn();

//String sql="select top(1) voteId from voteInfo order by voteId asc";

String sql="select max(voteId) from voteInfo";
System.out.println(sql);

int st=db.select(sql).getInt("voteId");

db.close();
return st;

}
错误提示 :

select max(voteId) from voteInfo
com.microsoft.sqlserver.jdbc.SQLServerException: 列名 voteId 无效。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(SQLServerResultSet.java:626)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(SQLServerResultSet.java:2219)
at dao.voteDao.selectvoteId(voteDao.java:41)
at servlet.createVoteServlet.doPost(createVoteServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
。。。。。。。。

我是个技术渣,,哪位大神 会的话帮我指点一二,,一两个小时全部纠结于这一个问题了

select max(voteId) from voteInfo 这个查出来是没有列名的 需要指定一个列名

select max(voteId) as voteId from voteInfo追问

结果 提示 :结果集没有当前行

追答

那应该是数据库里没有数据吧

select isnull(max(voteId),0) as voteId from voteInfo 可以改成这样 如果没有数据返回0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-07
列名 voteId 无效说明voteInfo表中没有这个字段,语句没有错
相似回答