2011-01-05 60 views
0

唯一值我有一个postgre sql查询如下无法获取使用Postgres的查询

SELECT cNo,max(numLogs),name,surname FROM details GROUP BY cNo,name,surname 

,如果我运行此我的结果不群cNo取而代之的,是有什么办法可以得到cNo独特/分组。

我得到类似如下

cNo   numLogs  name  surname 
23   43   asfas  safdasd 
23   45   dsfds  fdsfsdfsd 
23   43   dsfsd  dsfsdfsd 

的结果,我想是这样

cNo   numLogs  name  surname 
23   45   asfas  safdasd 

回答

4

如果你只独特cNo的,你不关心哪个你正在拉的名字/姓氏可以在这些字段上使用另一个聚合函数。

SELECT cNo 
    ,max(numLogs) 
    ,max(name) 
    ,max(surname) 
-- min would also work. 
FROM details 
GROUP BY cNo 

否则,你是拉是cNonamesurname每个独特组合。

如果你需要拉特定的名字或姓氏(不会被minmax或任何PostgreSQL的aggregate功能拉),那么你要对结果进行过滤,而不是从所有选择表。