2

アクティブでない人の割合を、アクティブな人の割合で割って計算したいと思います。

次の HQL クエリのようなものを実行しますが、機能しませんでした。

(select count(x) from People as x where x.active=false) / 
(select count(x) from People as x where x.active=true)

どうやってやるの?

4

4 に答える 4

0

このようなものが動作するはずです

String hql = "select count(x)/(select count(x) from People as x where x.active=true) 
                 from People as x where x.active=false";

Long result = (Long) em.createQuery(hql).getSingleResult();

注:上記はテストされていません

于 2013-08-13T15:04:56.900 に答える
0

HQL 式を使用しているため、Hibernate を使用していると想定しています。この場合、@Formulaアノテーションを使用することをお勧めします。ここで追加情報を見つけることができます:

于 2013-08-13T07:48:21.573 に答える