select t1.f1,count(t1.f1) from abc as t1 group by t1.f1 order by count(t1.f1)这句直接在hibernate中使用   语法上讲是没有错误的只是楼主按照f1 group by之后再count f1   有什么实际意义么?

解决方案 »

  1.   

    这么自信?首先,hibernate里面实际就是不能执行;
    其次,同时选择字段和字段的聚集,必须group,我说的对吗?不信你试一下:select a, count(b) from c ,看看这样的语句能不能执行?
      

  2.   

    sorry   第二个问题我看错了   ^_^   不好意思但是第一个HQL的确没有问题啊   我这里sqlserver N个报表都是这么写的  而且第二个和第一个是没有区别的    唯一的可能是如果你在使用mysql 3.2.*以前的版本  那样的话它在group by或者order by语句中是不支持表达式的能把错误信息帖全么?
      

  3.   

    你用的HQL啊,我的sql代码是直接写到程序里面的;
    我用的Mysql是4.0.18的;
    两种写法应该是没有什么区别的,可是实际上第一种在Mysql.exe里面执行是不能通过的,但是用别名的话,是可以执行的,就是第二种了;
    错误信息现在出不来了(我换了最笨的方法,自己排序!)您说还有没有其他变通的办法呢?自己排序是权宜之计啊。即便是用HQL也行,可是我没做过。不知道是不是能很快上手?
      

  4.   

    还是用HQL吧  mysql数据库不支持视图
      

  5.   

    能简要的介绍一下HQL吗?五十分呢,都给你了。
      

  6.   

    看下hibernate的文档吧     和ANSI SQL差不多   一看就明白啦