在 JPQL 查询中获取 MAX of COUNT
Get MAX of COUNT in JPQL Query
我正在尝试使用以下查询检索所有部门的最大员工人数:
SELECT MAX(n) FROM (SELECT COUNT(e) FROM Employee e GROUP BY e.department) n
无法解析此查询,我认为这是 FROM 子句中嵌套的 SELECT。有什么方法可以仅使用 JPQL 重写查询吗?
编辑:我还将查询重写为:
SELECT COUNT(e) FROM Employee e GROUP BY e.department ORDER BY COUNT(e) DESC
是否可以获取此查询的第一行?
which I assume is the nested SELECT in the FROM clause
我猜这是因为您正在尝试将 MAX
聚合函数应用于整个别名行集 n
,而不是特定列。而是尝试:
SELECT MAX(n.employeeCount)
FROM (SELECT COUNT(e) AS employeeCount FROM Employee e GROUP BY e.department) n
Is fetching the top row of this query possible?
当然可以,只需使用 query.setMaxResults(1)
我正在尝试使用以下查询检索所有部门的最大员工人数:
SELECT MAX(n) FROM (SELECT COUNT(e) FROM Employee e GROUP BY e.department) n
无法解析此查询,我认为这是 FROM 子句中嵌套的 SELECT。有什么方法可以仅使用 JPQL 重写查询吗?
编辑:我还将查询重写为:
SELECT COUNT(e) FROM Employee e GROUP BY e.department ORDER BY COUNT(e) DESC
是否可以获取此查询的第一行?
which I assume is the nested SELECT in the FROM clause
我猜这是因为您正在尝试将 MAX
聚合函数应用于整个别名行集 n
,而不是特定列。而是尝试:
SELECT MAX(n.employeeCount)
FROM (SELECT COUNT(e) AS employeeCount FROM Employee e GROUP BY e.department) n
Is fetching the top row of this query possible?
当然可以,只需使用 query.setMaxResults(1)