select max(UserID) FROM dbo.MyUser
我用的sqlserver2000,在java程序里执行上面这个简单的sql时,报如下错:列 'dbo.MyUser.ComCode' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。找了一下午毛病,也没找到问题所在,ComCode是这个表的另一列,但是我这个sql也没用到ComCode啊,和他没什么关系啊,怎么会报着个错?看了很多帖子,说的都是要用到group by分组的,可是我不需要分组,只是查出MyUser表里UserID的最大值,大家帮帮忙啊,急死了...
我用的sqlserver2000,在java程序里执行上面这个简单的sql时,报如下错:列 'dbo.MyUser.ComCode' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。找了一下午毛病,也没找到问题所在,ComCode是这个表的另一列,但是我这个sql也没用到ComCode啊,和他没什么关系啊,怎么会报着个错?看了很多帖子,说的都是要用到group by分组的,可是我不需要分组,只是查出MyUser表里UserID的最大值,大家帮帮忙啊,急死了...
select top(1) from MyUser order by userId desc;
也没有多大问题
select ComCode,max(UserID) FROM dbo.MyUser
这样的才报你那样的错误,看看是不是由你这条sql产生的
与你的createstatement中的参数有关,使用下面的参数会报那样的错误,不用参数则不会报错!
cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql)