【发布时间】:2019-07-21 12:07:30
【问题描述】:
我有一个任务实体,它包含公司中所有用户的任务。所以这是@ManytoOne 关系。 (许多任务属于特定用户)
我要计算总和:
(task_sum_of_user1 - avg)^2 + (task_sum_of_user2 - avg)^2 + .... (task_sum_of_user_N - avg)^2
我在 Postgresql 数据库中测试了一个查询,这个有效:
select sum(v.t_sum) from(select (s.user_tasks + 10)^2 t_sum from (select count(*) user_tasks from Task t GROUP BY t.employee_id) s) v
但是当我在 @Query 注释中运行查询时,它似乎不起作用:
@Query("select sum(v.t_sum) from(select (s.user_tasks + 10)^2 t_sum from (select count(*) user_tasks from Task t GROUP BY t.employee_id) s) v
")
它抛出异常 "unexpected token: (" 我错过了什么?
【问题讨论】:
-
为什么不将其创建为本机查询?例如
@Query(value="YOUR_QUERY", nativeQuery=true)
标签: java sql spring postgresql jpql