如何选择列而不将它们包含在GROUP BY访问sql中

时间:2014-03-27 13:49:41

标签: sql ms-access-2010

我的示例sql查询

 SELECT EID,p,p1,p2,p3 FROM table 1 GROUP BY EID;

错误不是聚合函数的一部分。我想只分组 EID 而不是所有其他 p,p1,p2,p3 。我如何在sql查询中指定。

1 个答案:

答案 0 :(得分:4)

在SQL的大多数方言中,如果列不在group by子句中,则必须指定所需的列。例如,您可能想要最小值:

SELECT EID, min(p), min(p1), min(p2), min(p3)
FROM table 1
GROUP BY EID;

或者,如果您想要特定记录中的所有值,请使用firstlast

SELECT EID, first(p), first(p1), first(p2), first(p3)
FROM table 1
GROUP BY EID;