Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从GROUPBY语句中排除列_Sql_Oracle_Oracle11g - Fatal编程技术网

Sql 从GROUPBY语句中排除列

Sql 从GROUPBY语句中排除列,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我想从GROUPBY语句中排除一列,因为它会导致一些冗余记录。有什么建议吗 我使用Oracle,有一个将6个表连接在一起的复杂查询,并希望使用sql聚合函数(count),而不会产生重复的结果 你不能 使用聚合函数时,非聚合的每个列/列表达式必须位于GROUP BY中 这是完全合乎逻辑的。如果不聚合列,则将其从GROUP BY中排除将迫使Oracle选择一个随机值,这不是很有用 如果您不希望此列在您的组中,那么您必须决定应用于此列的聚合,以便根据您的情况返回适当的数据。您不能将此责任交给数据库引

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

我使用Oracle,有一个将6个表连接在一起的复杂查询,并希望使用sql聚合函数(count),而不会产生重复的结果

你不能

使用聚合函数时,非聚合的每个列/列表达式必须位于GROUP BY中

这是完全合乎逻辑的。如果不聚合列,则将其从GROUP BY中排除将迫使Oracle选择一个随机值,这不是很有用

如果您不希望此列在您的组中,那么您必须决定应用于此列的聚合,以便根据您的情况返回适当的数据。您不能将此责任交给数据库引擎。

请阅读并接受答案