SQL 的 GROUP BY
子句:数据聚合和行输出
数据聚合是数据库分析的基石。 SQL 的 GROUP BY
子句提供了根据指定列对行进行分组并对这些组应用聚合函数的机制。
让我们使用示例表 Tab1
来检查查询,其中包含 a1
、a2
、a3
等列(没有唯一标识行)。考虑这个查询:
<code class="language-sql">SELECT a1, a2, SUM(a3) FROM Tab1 GROUP BY a1, a2;</code>
破译查询结果
GROUP BY
子句根据 Tab1
和 a1
的唯一组合将 a2
的行分为几组。 该查询为每个不同的 (a1, a2) 对生成一行。
对于每个组,SUM(a3)
函数计算 a3
值的总和。 因此,输出显示每个唯一 (a1, a2) 组合的聚合 a3
总和。
它总是返回单行吗?
查询的输出并不总是一行。 它返回多行 — 每个唯一的 (a1, a2) 组一行。行数直接取决于 Tab1
中不同组的数量。 仅当 Tab1
具有一行,或者所有行共享相同的 a1
和 a2
值时,查询才会生成一行。
以上是SQL'GROUP BY”子句如何聚合数据以及何时返回单行?的详细内容。更多信息请关注PHP中文网其他相关文章!