SQL新手求助:如何统计指定日期的总销售额
解决指定日期销售总额统计问题
你需要用聚合函数SUM()直接计算每条记录的销售额并求和,同时通过GROUP BY按日期分组(用于显示对应日期)。另外不能直接引用SELECT里定义的别名[Total Sales],因为SQL执行顺序中,别名要在聚合操作之后才生效,所以得把计算逻辑放进SUM()里。
基础求和查询
SELECT [Sales Date], SUM([Quantity] * [Unit Price]) AS [Total Sales] FROM Sales_Line_Item WHERE [Sales Date] = #9/1/2020# GROUP BY [Sales Date];
带金额格式化的查询(匹配你要的$格式)
如果是Access这类数据库,可以用Format()函数格式化输出:
SELECT [Sales Date], Format(SUM([Quantity] * [Unit Price]), "$#,##0.00") AS [Total Sales] FROM Sales_Line_Item WHERE [Sales Date] = #9/1/2020# GROUP BY [Sales Date];
为什么原来的SUM(Total Sales)会报错?
SQL的执行顺序是先处理FROM和WHERE筛选数据,再处理GROUP BY分组,最后才处理SELECT里的字段别名。所以在同一级的SUM()里,数据库还没识别[Total Sales]这个别名,必须直接使用[Quantity]*[Unit Price]这个原始计算表达式。
内容的提问来源于stack exchange,提问作者Thompson510
相关产品推荐
相关产品推荐

