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

vuy*_*182 1 sql ms-access-2010

我的示例 sql 查询

 SELECT EID,p,p1,p2,p3 FROM table 1 GROUP BY EID;
Run Code Online (Sandbox Code Playgroud)

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

Gor*_*off 5

在大多数 SQL 方言中,如果子句中没有该列,则必须指定所需group by。例如,也许您想要最小值:

SELECT EID, min(p), min(p1), min(p2), min(p3)
FROM table 1
GROUP BY EID;
Run Code Online (Sandbox Code Playgroud)

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

SELECT EID, first(p), first(p1), first(p2), first(p3)
FROM table 1
GROUP BY EID;
Run Code Online (Sandbox Code Playgroud)