select count(*) from (select count(*) from message as msg where msg.toUid=1 and msg.toDelFlag=0 group by msg.relateIds) m select count(*) from (select count(*) from Message as msg where msg.toUid=:id and msg.toDelFlag=0 group by msg.relateIds) as m 
我不清楚这两句sql是不是应该有区别,但我对第二句中的msg.toUid=:id有些疑问。

解决方案 »

  1.   

    用count函数之类的后面要把其他的 group by 一下~~~试试~~~
      

  2.   

    呵呵,那你是否在接下来的代码里设置了这个参数的值呢?
    比如:
    Query query = session.createQuery(hql);
    query.setInteger("id",1);
      

  3.   

    是nhibernate设置参数的,不都是sql语句,一个是sql, 一个是hql
      

  4.   

    你的HSQL是:
    select count(*) from (select count(*) from Message as msg where msg.toUid=:id and msg.toDelFlag=0 group by msg.relateIds) as m
    怎么报错的是: 
    -org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: ( near line 1, column 22 [select count(*) from (select count(msg.*) from为什么??
      

  5.   

    对mysql和hql都不太熟
    但为啥外面还套个select count(*) 啊?
      

  6.   

    select 别名.属性 from 类 as 别名. 没有别名.属性仍然报错!找到这么一句,呵呵~