tbo*_*one 3 sql sql-server oracle
具有聚合函数的简单查询中的DISTINCT是否有任何影响?
select DISTINCT salesperson, SUM(sales_amt) from sales GROUP BY salesperson
Run Code Online (Sandbox Code Playgroud)
我意识到有更复杂的查询,其中DISTINCT 可以产生影响,例如:
select salesperson, SUM(DISTINCT sales_amt) from sales GROUP BY salesperson
Run Code Online (Sandbox Code Playgroud)
(平台对该语法的支持可能会有所不同)
但我想确认在简单的查询示例中,DISTINCT是多余的.
编辑:修复了缺少GROUP BY的销售人员
假设您丢失GROUP BY salesperson(如果省略该组,则在SQL Server中无效),DISTINCT在您的第一个查询中是多余的.在GROUP BY有效地执行DISTINCT由聚集在这里salesperson.
select DISTINCT salesperson, SUM(sales_amt) from sales GROUP BY salesperson
Run Code Online (Sandbox Code Playgroud)
正如您所指出的那样,正确的是,聚合DISTINCT 内部的放置SUM()可能会产生不同的行集.
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |