首页 > 代码库 > hql中不能写count(1)可以写count(a.id)

hql中不能写count(1)可以写count(a.id)

hql中不能写count(1)可以写count(a.id)里面写具体的属性

 

String hql="select new com.haiyisoft.vo.entity.cc.repo.BusinessStat(  r.paramName ,t.paramName , "
         +" (select nvl(count(1),0) "
         +" from com.haiyisoft.entity.cc.busi.Business b,com.haiyisoft.entity.cc.busi.Application a,com.haiyisoft.entity.cc.busi.Channel c "
         +" where b.applicationId=a.id and a.appChannel=c.id "
         +" and b.servTime>=to_date(‘" + bgTime + "‘,‘yyyy-mm-dd HH24:mi:ss‘)"
         +" and b.servTime<=to_date(‘" + edTime + "‘,‘yyyy-mm-dd HH24:mi:ss‘)"
         +" and c.channelCode=r.paramCode and substr(b.busiType,0,2)=t.paramCode) as businum)"
         +" from "
         +" ExtendParamValue r,"
         +" ExtendParamValue t"
         +" where "
         +" r.dimension=‘CC_CHANNEL_CODE‘"
         +" and t.dimension=‘CC_BUSI_TYPE‘ "
         +" and length(t.paramCode)=2"
         +" order by r.paramCode,t.paramCode";
  

一开始写成count(1) 一直出不认识1,一直没在意,整了半天以为别的地方写错了,最后把count(1)变成count(a.id)可以了