内部连接mysql时发生sql错误
请帮助我查找我的sql错误 控制台呈现给我: GRAVE:路径为[/SpringSecurity]的上下文中Servlet[mvc dispatcher]的Servlet.service引发了异常[请求处理失败;嵌套异常为org.hibernate.exception.sqlgrammareException:无法提取结果集],其根本原因是内部连接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
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