select - JPA - MAX of COUNT 或 SELECT FROM SELECT

标签 select jpa count subquery max

我为 MySQL 编写了以下查询:

SELECT subquery.t1_column1, 
    subquery.t2_id, 
    MAX(subquery.val)
FROM (
    SELECT t1.column1 as t1_column1, 
        t1.id_t2 AS t2_id,
        count(1) AS val
    FROM table1 t1
    INNER JOIN table2 t2
    ON t2.id = t1.id_t2
    GROUP BY t1.id_t2
) subquery
GROUP BY t1_column1

我想将它翻译成 JPA(JPQL 或标准查询)。

我不知道如何制作这个 max(count) 东西,而且 JPA 似乎不喜欢 SELECT FROM SELECT ...

如果有人有 native 查询以外的想法(我现在会这样做),那就太好了。

最佳答案

我还没有检查过 JPA 规范,但鉴于 Hibernate documentation

Note that HQL subqueries can occur only in the select or where clauses.



我非常怀疑您的查询是否可以转换为有效的 JPQL 查询。

您将不得不继续使用这个 native SQL 查询。

关于select - JPA - MAX of COUNT 或 SELECT FROM SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699423/

相关文章:

c# - IEnumerable.Select() 当属性仅在运行时已知时

mysql - SQL Select Query with single field as formatted and remaining fields as wildcard

MySQL 查询零值

SQL,获取外键值。外键引用同一张表

javascript - 获取数组中的选定文本

java - Spring关系获取子id而不加载子类

java - JPQL 通过 count(*) 进行分组

java - 为什么/Eclipse 在哪里注入(inject)额外的库,例如 JPA 1.0?

mysql - 连接到 MySQL 数据库并计算行数

c++ - 使用标准库对 vector 的 vector 进行排序并计算唯一出现的频率