内部连接mysql时发生sql错误

内部连接mysql时发生sql错误,mysql,sql,spring,inner-join,Mysql,Sql,Spring,Inner Join,请帮助我查找我的sql错误 控制台呈现给我: GRAVE:路径为[/SpringSecurity]的上下文中Servlet[mvc dispatcher]的Servlet.service引发了异常[请求处理失败;嵌套异常为org.hibernate.exception.sqlgrammareException:无法提取结果集],其根本原因是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQ

请帮助我查找我的sql错误 控制台呈现给我: GRAVE:路径为[/SpringSecurity]的上下文中Servlet[mvc dispatcher]的Servlet.service引发了异常[请求处理失败;嵌套异常为org.hibernate.exception.sqlgrammareException:无法提取结果集],其根本原因是
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册中的第1行“选择ue.id、ue.Latitude、ue.Longitude、ue.Serving\u Cell、ue.RSCP FROM ue internal”附近使用的正确语法。您尝试一次执行两个查询。一次只能执行一个

String sql = "set @row \\:=-1; SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP 
FROM ue INNER JOIN(
     SELECT id 
     from (
          SELECT @row \\:=@row+1 as rownum, id 
          from (
          select id from ue order by id) as sorted
                )as ranked  
      where rownum %20=0) as subset 
      on subset.id = ue.id 
where Operator like :operator ";

Query query = getSessionFactory().getCurrentSession().createSQLQuery(sql);

query.setParameter("operator", "%" + operator + "%");

return query.list();
但是您可以使用子查询来初始化这样的变量

SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP 
FROM ue INNER JOIN(
     SELECT id 
     from (
          SELECT @row \\:=@row+1 as rownum, id 
          from (
          select id, @row 
          from ue, (select @row := -1) r
          order by id) as sorted
                )as ranked  
      where rownum %20=0) as subset 
      on subset.id = ue.id 
where Operator like :operator

你说得很对,非常感谢你的帮助,它现在起作用了
(select @row := -1) r