如何在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
分组1
我从不知道GROUP BY支持使用序数,只有ORDER BY。无论哪种方式,只有MySQL支持GROUP BY,而不包括没有对它们执行聚合功能的所有列。不建议使用常规,因为常规基于SELECT的顺序-如果更改,则ORDER BY(如果支持,也可以GROUP GROUP)也是如此。
GROUP BY使用时无需在内容上运行UNION-UNION确保删除重复项;UNION ALL速度更快,因为它不需要- 在这种情况下,您将需要GROUP BY …
GROUP BY
UNION
UNION ALL
您的查询只需要是:
SELECT a.id, a.time FROM dbo.TABLE_A a UNION SELECT b.id, b.time FROM dbo.TABLE_B b