Joh*_*lly 1 sql database aggregate-functions
我想退回总销售额.也就是说整个数据集的UnitPrice + TaxAmount.我可以用两种不同的方式编写SQL查询,返回相同的结果.
SELECT SUM(UnitPrice + TaxAmount) AS 'TotalSales' FROM Sales
Run Code Online (Sandbox Code Playgroud)
要么
SELECT SUM(UnitPrice) + SUM(TaxAmount) AS 'TotalSales' FROM Sales
Run Code Online (Sandbox Code Playgroud)
这些查询中的一个是否可以在另一个上执行(性能还是其他)?或者这仅仅是品味问题?
使用:
SELECT SUM(UnitPrice) + SUM(TaxAmount) AS 'TotalSales'
FROM Sales
Run Code Online (Sandbox Code Playgroud)
...因为如果多个值为NULL,则using SUM(UnitPrice + TaxAmount)可以返回NULL.你可以将它们包装在COALESCE中:
SELECT SUM(COALESCE(UnitPrice, 0) + COALESCE(TaxAmount, 0))
Run Code Online (Sandbox Code Playgroud)
我没有看到两种方法之间的性能差异,并且看到SUM()+ SUM()更安全的NULL只是将交易密封给我.
| 归档时间: |
|
| 查看次数: |
1409 次 |
| 最近记录: |