注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

PostgreSQL 之 count(*) and order by  

2011-08-01 19:35:36|  分类: Postgresql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Postgresql 中count(*) 和 order by 不能在一块使用 。

例如:

postgres=# select count(*) from test order by c3 limit 10;
错误:  字段 "test.c3" 必须出现在 GROUP BY 子句中或者在聚合函数中使用
第1行 select count(*) from test order by c3 limit 10;

 

这个原因我始终没有搞清楚。(但是Oracle中却没有报错!!!)

这个诡异的错误是我在使用Hibernate的Criteria的时候发现的:

-------------------------------------------------------------------------------------------------------------------

Criteria criteria  = session.createCriteria(Person.class);

//添加很多过滤条件

... ...

//添加排序

criteria.addOrder( Order.desc("name"));

//查询数据总数

criteria.setProjection(Projections.rowCount()).uniqueResult();

------------------------------------------------------------------------------------------------------------------

因为它生成了的sql语句count(*) 和 order by 一同使用了。

 

  评论这张
 
阅读(744)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017