PostgreSQL中如何做分组查询? 在Mysql中我测试: table:user id type name ... 1 a li ...
2 b wang ...
3 a zhang ... ... select t.* from user group by t.type 一切正常,结果正确 但同样的语句在PostgreSQL中却出了问题 经过反复尝试: select t.type form user group by t.type 正确,但我想查出所有字段 于是又 select t.type,* form user group by t.type 亦不成,哎,以前没用过这东东,还真麻烦 第二天,问朋友,改为
select min(t.type),* from user group by t.type 即成。 搞不明白,为啥还要加个min或max,贴出来大家共同探讨一下。
2 b wang ...
3 a zhang ... ... select t.* from user group by t.type 一切正常,结果正确 但同样的语句在PostgreSQL中却出了问题 经过反复尝试: select t.type form user group by t.type 正确,但我想查出所有字段 于是又 select t.type,* form user group by t.type 亦不成,哎,以前没用过这东东,还真麻烦 第二天,问朋友,改为
select min(t.type),* from user group by t.type 即成。 搞不明白,为啥还要加个min或max,贴出来大家共同探讨一下。
解决方案 »
- 就解一个MySql问题
- select中的if()函数里如何实现赋值?非常感谢!
- 请教:pgsql能否实现分布式查询?
- MySQL Control Center 连接不到MySQL(急)
- 请问什么地方可以找到mysql所使用的通信协议及包的结构?
- InnoDB类型表的Autoindex的特性与MyISAM类型表的Autoindex的特性不一样?
- 急!请教:Linux7.2+tomcat4.1.18+postgres数据库连接问题
- 如何用java查询数据库中有中文字段的表?
- 小白问个存储过程中循环更新的问题
- mysql该怎么监视修改该条的时间啊
- mysql 存储过程 默认值
- enum数据类型默认值的困惑
1.你对group by的用法是不准确的。不仅在PostgreSQL,在Oracle,SQL server等等绝大多数数据库中,你写的第一个语句都不能执行(我对Mysql不了解,但我对你对Mysql测试表示怀疑)。
2.不太确定你的需求,又要分组,又要查出所有字段,基本上这是不可能完成的任务。你是不是把排序(order by)写成 分组了(group by)?