如何在t-sql中使用group with with union

前端之家收集整理的这篇文章主要介绍了如何在t-sql中使用group with with union前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在t-sql中使用group with with union?我想通过联合的结果的第一列进行分组,我写了以下sql,但它不起作用.我只是不知道如何引用指定的列(在这种情况下是1)的联合结果.
万分感谢.
SELECT  *
FROM    ( SELECT    a.id,a.time
          FROM      dbo.a
          UNION
          SELECT    b.id,b.time
          FROM      dbo.b
        )
GROUP BY 1

解决方法

GROUP BY 1

我从来没有认识到GROUP BY支持使用ordinals,只有ORDER BY.无论哪种方式,只有MysqL支持GROUP BY不包括所有列,而不对其执行聚合功能. Ordinals不是推荐的做法,因为如果它们基于SELECT的顺序 – 如果更改,您的ORDER BY(或GROUP BY,如果支持)也是如此.

使用UNION时,不需要在内容上运行GROUP BY – 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
原文链接:https://www.f2er.com/mssql/82427.html

猜你在找的MsSQL相关文章