Java 必须出现在GROUP BY子句中,或在count postgresql的聚合函数中使用 从CustomerOrder公司选择计数(*),其中 co.createdAt>=:fromDate和co.createdAt
聚合函数不受order子句的影响,因此您可以在不添加order by的情况下获得正确的结果。 您不能选择未在group by中提及且未参与聚合的选定列。在您的情况下,order by createdAt在选择createdAt时工作,这会引发错误 所以如果你想知道你的where条件,你只需要Java 必须出现在GROUP BY子句中,或在count postgresql的聚合函数中使用 从CustomerOrder公司选择计数(*),其中 co.createdAt>=:fromDate和co.createdAt,java,postgresql,hibernate,Java,Postgresql,Hibernate,聚合函数不受order子句的影响,因此您可以在不添加order by的情况下获得正确的结果。 您不能选择未在group by中提及且未参与聚合的选定列。在您的情况下,order by createdAt在选择createdAt时工作,这会引发错误 所以如果你想知道你的where条件,你只需要 select count(*) from CustomerOrder co where co.createdAt >= :fromDate and co.createdAt <= :toD
select count(*) from CustomerOrder co where
co.createdAt >= :fromDate and co.createdAt <= :toDate order by co.createdAt desc;
选择计数(*)
来自客户订单公司
其中co.createdAt>=:fromDate和co.createdAt=:fromDate和co.createdAt我怀疑它抱怨错误中的createdAt字段?删除order by子句,因为它对结果没有任何影响。可能count(*)
也应替换为count(co)
,因为这是HQL
select count(*)
from CustomerOrder co
where co.createdAt >= :fromDate and co.createdAt <= :toDate
select createdAt , count(*)
from CustomerOrder co
where co.createdAt >= :fromDate and co.createdAt <= :toDate
GROUP BY createdAt