2012-06-25 183 views
1

查詢我想知道是否有可能表達具有JPA 2.0標準API下面的查詢。JPA標準與子查詢

simple_table: 
user_name(varchar), 
bytes_total(bigint), 
time_total(bigint) 

>select 
    user_name, 
    sum(bytes_total), 
    sum(bytes_total) * 100/(select sum(bytes_total) from simple_table), 
    sum(time_total), 
    sum(time_total) * 100/(select sum(time_total) from simple_table) 
from simple_table 
group by user_name 

我有一切工作,除了兩個子查詢。我想知道這是否可能。謝謝。

+0

我建議你在兩個不同的查詢做這個計算。沒有太多的代碼需要,可能性更高,因爲你只需要計算一次總和。 –

+0

謝謝@RasmusFranke,是的,這是我的第二選擇。 – user1387786

回答

1

這不能做。子查詢不能在SELECT子句中使用。在JPQL查詢中同樣的限制。

子查詢可以在WHERE被使用和HAVING子句:在JPA 2.0規範這表示如下。

+0

非常感謝,考慮到這一點,我可以轉向其他選擇。 – user1387786