首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“单独组队”

“单独组队”
EN

Stack Overflow用户
提问于 2015-07-15 17:48:36
回答 2查看 81关注 0票数 0

在我的一些SQL代码中,有一个简单的部分:

代码语言:javascript
复制
(SELECT
      t1.col1,
      ...,
      t1.coln
   FROM
      (SELECT
            t2.col1, ..., t2.coln
         FROM
            t2location
      ) t1

   GROUP BY
         t1.col1,
         ...,
         t1.coln
) t0

我在想“哇,这个GROUP BY在这里做什么,它只是分类”。因此,我删除了它,但随后它对结果表进行了彻底的更改。

该表,t0随后与另一个具有相似组的表(具有较少的数据,但相同的列)连接。

我的问题是:

改变数据的GROUP BY是做什么的?

数据集非常大,我无法准确地指出代码到底发生了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-15 17:52:39

您似乎混淆了GROUP BYORDER BY。按聚合对数据进行分组,因此通常与聚合函数(例如SUM或AVERAGE )一起使用。通过选择特定列中的disctict值并将它们组合在一起,“按工作分组”。虽然GROUP可能确实对数据进行了排序,但它没有得到保证。订单是用来分类的。

票数 2
EN

Stack Overflow用户

发布于 2015-07-15 17:52:51

它基本上是在做SELECT DISTINCT t1.col, ..., t1.coln

例如:

代码语言:javascript
复制
  col1   |  col2  |  col3
---------|--------|------
  some   | thing  | cool
  some   | thing  | cool
  some   | thing  | cool
  some   | thing  | else
   wow   | thats  | cool

没有GROUP BY的查询将返回五行。使用GROUP BY将返回三行:类似于第1行、第4行和第5行的内容

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31437535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档