我想从group by语句中排除一个列,因为它会导致一些冗余记录。有什么建议吗?
我使用Oracle,并且有一个将6个表连接在一起的复杂查询,并且希望使用sql聚合函数(count),没有重复的结果。

发布于 2017-12-27 08:05:02
你不能这么做。
当使用聚合函数时,每个列/列表达式(不是聚合)都必须在组中。
这完全合乎逻辑。如果您没有聚合该列,那么将它从组中排除在外会迫使Oracle选择一个随机值,这不是很有用。
如果您不想在组中加入这个列,那么您必须决定将什么聚合应用到该列,以便返回适合您的情况的数据。您不能将此责任移交给数据库引擎。
https://stackoverflow.com/questions/47988450
复制相似问题