部份代码如下
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";
没事,问题在什么地方啊??

解决方案 »

  1.   

    那当然啊,max是单行函数,这是基本的sql语法,回去找书看看吧~~~
      

  2.   

    select  * from mm_message where je = (select max(je) from mm_message)
      

  3.   

    这个是你的sql语句的语法有错误。
    你可以先将你的sql语句,在sql server的客户端执行通过后,再写入java文件。
      

  4.   

    上面写的很清楚了  这样改看看select  max(je) from mm_message group by je
    或者 select  max(distinct je) from mm_message group by je