Java 在JPQL中,如何统计GROUPBY查询返回的所有组?

Java 在JPQL中,如何统计GROUPBY查询返回的所有组?,java,sql,hibernate,jpa,jpql,Java,Sql,Hibernate,Jpa,Jpql,如果我有一个分组查询 Select e.field1, e.field2... from Entity w group by e.field1, e.field2... 如何计算不使用NativeQuery的行数? 我需要这样做: select count(*) from (Select e.field1, e.field2... from Entity w group by e.field1, e.field2...) 有什么方法可以使用JPQL吗?JPQL不支持派生表,因此,最好的方法是

如果我有一个分组查询

Select e.field1, e.field2...
from Entity w
group by e.field1, e.field2...
如何计算不使用NativeQuery的行数? 我需要这样做:

select count(*) from
(Select e.field1, e.field2...
from Entity w
group by e.field1, e.field2...)

有什么方法可以使用JPQL吗?

JPQL不支持派生表,因此,最好的方法是运行本机SQL查询


毕竟,您不同意吗?

在oracle中,您可以使用此hql

Select sum(count(*) - count(*) + 1)
from Entity e
group by e.field1, e.field2...

但是你的问题到目前为止还没有真正意义。您在问题中输入的代码与您描述的内容相符。但很明显,你想做些别的事情。请详细说明。不,因为我不能在JPQL中使用“count(*)”。我需要一种不同的方式来表示相同的内容,但是使用JPQL语法。您不需要多个
分组查询并获取所有查询的
计数(*)
吗?您不能使用
*
是什么意思?为什么?那绝对是错的。我完全同意。我更新了我的答案。解决方案非常简单,称为SQL。