小编典典

如何在T-SQL中通过联合使用分组

sql

如何在t-sql中结合使用group
by?我想按联合结果的第一列进行分组,我编写了以下sql,但它不起作用。我只是不知道如何引用联合结果的指定列(在这种情况下为1)。太谢谢了。

SELECT  *
FROM    ( SELECT    a.id ,
                    a.time
          FROM      dbo.a
          UNION
          SELECT    b.id ,
                    b.time
          FROM      dbo.b
        )
GROUP BY 1

阅读 163

收藏
2021-04-22

共1个答案

小编典典

分组1

我从不知道GROUP BY支持使用序数,只有ORDER BY。无论哪种方式,只有MySQL支持GROUP
BY,而不包括没有对它们执行聚合功能的所有列。不建议使用常规,因为常规基于SELECT的顺序-如果更改,则ORDER BY(如果支持,也可以GROUP
GROUP)也是如此。

GROUP BY使用时无需在内容上运行UNION-UNION确保删除重复项;UNION ALL速度更快,因为它不需要-
在这种情况下,您将需要GROUP BY …

您的查询只需要是:

SELECT a.id,
       a.time
  FROM dbo.TABLE_A a
UNION
SELECT b.id,
       b.time
  FROM dbo.TABLE_B b
2021-04-22