首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

PostgreSQL 分组查询有关问题

2012-03-09 
PostgreSQL 分组查询问题PostgreSQL中如何做分组查询?在Mysql中我测试:table:useridtypename...1ali...2bw

PostgreSQL 分组查询问题
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,贴出来大家共同探讨一下。


[解决办法]
两点提示:
1.你对group by的用法是不准确的。不仅在PostgreSQL,在Oracle,SQL server等等绝大多数数据库中,你写的第一个语句都不能执行(我对Mysql不了解,但我对你对Mysql测试表示怀疑)。
2.不太确定你的需求,又要分组,又要查出所有字段,基本上这是不可能完成的任务。你是不是把排序(order by)写成 分组了(group by)?

热点排行