我想执行这个查询,它在phpMyAdmin
工作,但不是在我的方法,它给我这个异常期待IDENT,发现“” [在18“”
expecting IDENT, found ''[Under 18]'': line 1:53: expecting IDENT, found ''[Under 18]''
这是我的方法:
public List<Object[]> getTranche() {
List<Object[]> list;
Query req = em.createQuery("SELECT SUM(CASE WHEN age < 18 THEN 1 ELSE 0 END) AS '[Under 18]', SUM(CASE WHEN age BETWEEN 18 AND 24 THEN 1 ELSE 0 END) AS '[18-24]', SUM(CASE WHEN age BETWEEN 25 AND 34 THEN 1 ELSE 0 END) AS '[25-34]' FROM Contrat ");
return (List<Object[]>) req.getResultList();
}
任何帮助,请
我不知道MySQL是否在这方面是一样的,但在SQL Server中,你不会用方括号括起单引号:'AS [18],SUM ...'会很好 – JonK