我有一个postgre sql查询如下
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
答案 0 :(得分:4)
如果只想要唯一的cNo
并且您不关心要提取的姓名,则可以在这些字段上使用其他聚合函数。
SELECT cNo
,max(numLogs)
,max(name)
,max(surname)
-- min would also work.
FROM details
GROUP BY cNo
否则,您所提取的内容是cNo
,name
和surname
的唯一组合。
如果您需要提取特定的名称或姓氏(不会被min
,max
或任何PostGreSQL的aggregate功能提取,然后你会想要过滤你的结果,而不是从表中选择所有内容。