MAX语名没问题怎么会报错,,高手...来啊.....................................
部份代码如下
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
String url= "jdbc:microsoft:sqlserver://ltd:1433;DatabaseName=gh ";
String user= "sa ";
String password= "qwertyui ";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql;
sql= "select max(username) from mm_message ";
ResultSet rs=stmt.executeQuery(sql);
出错:
javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列 'mm_message.shbz ' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
把
sql= "select max(je) from mm_message ";
换成
sql= "select je from mm_message ";
没事,问题在什么地方啊??
------解决方案--------------------那当然啊,max是单行函数,这是基本的sql语法,回去找书看看吧~~~
------解决方案--------------------select * from mm_message where je = (select max(je) from mm_message)
------解决方案--------------------这个是你的sql语句的语法有错误。
你可以先将你的sql语句,在sql server的客户端执行通过后,再写入java文件。
------解决方案--------------------上面写的很清楚了 这样改看看select max(je) from mm_message group by je
或者 select max(distinct je) from mm_message group by je