JPA多重计数

时间:2012-02-06 23:03:35

标签: sql jpa

我有一个包含x,y和z列的表A.我想做一个查询来计算行(A.x = 1和A.y = 4),(A.x = 2和A.y = 7)和(A.x = 3和A.y = 3)的行。结果应该包含3个整数,对应于上述标准。

我不知道这种查询是否可行。

我想在JPA Criteria(最好)或JPQL中使用示例代码,或者在最坏的情况下使用SQL。

1 个答案:

答案 0 :(得分:2)

这是你最糟糕的情况:

SELECT
    SUM(CASE WHEN a.x = 1 AND a.y = 4 THEN 1 ELSE 0 END) AS Result1,
    SUM(CASE WHEN a.x = 2 AND a.y = 7 THEN 1 ELSE 0 END) AS Result2,
    SUM(CASE WHEN a.x = 3 AND a.y = 3 THEN 1 ELSE 0 END) AS Result3
FROM TableA a