从group by语句中排除列

时间:2017-12-27 07:58:41

标签: sql oracle oracle11g

我想从 group by 语句中排除一列,因为它会导致一些冗余记录。有什么建议吗?

我使用Oracle,并且有一个复杂的查询,它将6个表连接在一起,并且想要使用sql聚合函数(count),而没有重复的结果。

field to be ecxclude

1 个答案:

答案 0 :(得分:3)

你不能。

使用聚合函数时,每个不是聚合的列/列表达式必须在GROUP BY中。

这完全符合逻辑。如果您没有聚合该列,那么将其从GROUP BY中排除将迫使Oracle选择一个随机值,这不是很有用。

如果您不想在GROUP BY中使用此列,则 必须决定应用于此列的聚合,以便为您的情况返回相应的数据。您无法将此责任移交给数据库引擎。