想要查询分组后的总记录条数(也就是组数,不是每组的记录条数),hibernate的hql:
select count(*) from (from A a group by a.name),但是hibernate的hql不支持这样的from 子查询,该如何是好,我要用hql来查

解决方案 »

  1.   

    以前做过一个超级复杂的查询,网上查了一大圈,最后用sql搞定
      

  2.   

    name相同取唯一可以用数据库函数
      

  3.   

    我要取得分组后的组数,期待hql解决方案
      

  4.   

    可以使用query的sql查询方法执行你写的sql语句啊~
      

  5.   

    select sum(count(a.name)) from A a  group by a.name
      

  6.   


    貌似不支持这样使用分组函数,"Invalid use of group function"
    况且还得考虑group by a,b这样多个分组字段的
      

  7.   

    select sum(count(distinct g.xlmc)) from Gjxl g where g.bdqd=? or g.bdzd=? group by g.xlmc
    楼主上面是我原来的hql语句,没报错还查出东西了=。=
      

  8.   

    select count(a.name) from A a group by a.name
    楼主你这样试试
      

  9.   

    我的印象里hibernate本身对分组的支持就不是很好,一个语句中包含了count+group by多数情况下会报错
      

  10.   

    它这样只会查每组的记录条数,就算加了distinct也一样,罢了我只好用sql单独写好了,谢谢各位
      

  11.   

    换个思考方式:SELECT count(b.name) from A b WHERE b.name in ( select a.name from A  a group by a.name)