【发布时间】:2021-05-21 03:56:13
【问题描述】:
我仍然对使用GROUP BY 的语法规则感到困惑。我知道当有一些聚合函数时我们使用GROUP BY。如果我在 SQL 语句中甚至有一个聚合函数,我是否需要将所有选定的列放入我的 GROUP BY 语句中?我没有要询问的特定查询,但是当我尝试进行联接时,出现错误。特别是,当我在语句和/或连接中使用 count(*) 时,我似乎把它搞砸了。
我在工作中使用 BigQuery。我经常被知识上的奇怪差距弄得不知所措。
谢谢!
【问题讨论】:
-
显然,不同 RDBMS 之间的语法可能略有不同,但是 - 作为一般规则 - 任何属于 SELECT 语句但未聚合的列都需要包含在 GROUP BY 中。如果您随后开始合并表连接,那么它可能会更加复杂,具体取决于您的预期结果。你说你没有特定的查询,但你也说你得到了错误——所以你必须有正在运行的查询,这些查询会产生错误。最好包含一个示例查询,然后您可以获得一些更具体的建议
-
谢谢!当我再次遇到它时,我会更新一个查询。谢谢!