请问如何在Hibernate里面按照汇总数进行排序?

jinbuquan 2004-06-25 02:41:47
我的数据库是mysql,

这句话在数据库里面直接执行都不行,
select t1.f1,count(t1.f1) from abc as t1 group by t1.f1 order by count(t1.f1)

这句话可以在数据库里面直接执行,
select t1.f1,count(t1.f1) as abc from abc as t1 group by t1.f1 order by abc

但是在hibernate里面却不行,提示说:
, expected in SELECT[。。。

请大侠们救命啊。
...全文
77 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluemeteor 2004-06-27
  • 打赏
  • 举报
回复
看下hibernate的文档吧 和ANSI SQL差不多 一看就明白啦
jinbuquan 2004-06-26
  • 打赏
  • 举报
回复
能简要的介绍一下HQL吗?五十分呢,都给你了。
bluemeteor 2004-06-25
  • 打赏
  • 举报
回复
还是用HQL吧 mysql数据库不支持视图
jinbuquan 2004-06-25
  • 打赏
  • 举报
回复
你用的HQL啊,我的sql代码是直接写到程序里面的;
我用的Mysql是4.0.18的;
两种写法应该是没有什么区别的,可是实际上第一种在Mysql.exe里面执行是不能通过的,但是用别名的话,是可以执行的,就是第二种了;
错误信息现在出不来了(我换了最笨的方法,自己排序!)

您说还有没有其他变通的办法呢?自己排序是权宜之计啊。即便是用HQL也行,可是我没做过。不知道是不是能很快上手?
bluemeteor 2004-06-25
  • 打赏
  • 举报
回复
sorry 第二个问题我看错了 ^_^ 不好意思

但是第一个HQL的确没有问题啊 我这里sqlserver N个报表都是这么写的 而且第二个和第一个是没有区别的 唯一的可能是如果你在使用mysql 3.2.*以前的版本 那样的话它在group by或者order by语句中是不支持表达式的

能把错误信息帖全么?
jinbuquan 2004-06-25
  • 打赏
  • 举报
回复
这么自信?

首先,hibernate里面实际就是不能执行;
其次,同时选择字段和字段的聚集,必须group,我说的对吗?

不信你试一下:select a, count(b) from c ,看看这样的语句能不能执行?
bluemeteor 2004-06-25
  • 打赏
  • 举报
回复
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 有什么实际意义么?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧