求助:SQL实现POS系统小时销售额统计
按小时汇总POS销售额的SQL报表实现
你需要在查询中使用SUM()聚合函数对每小时的销售额求和,并通过GROUP BY子句按小时分组,就能得到期望的结果。修正后的完整代码如下:
DECLARE @start_of_day datetime; DECLARE @now datetime; SET @now = getdate(); SET @start_of_day = dbo.dwf_beginofday_for_day(@now); --Creates Sales by Hour Table DECLARE @reportable_table AS TABLE ( Hour int, [Total Sales] money ) INSERT INTO @reportable_table SELECT create_hour_ordinal AS Hour, SUM(c_ticketitem_net_price) AS [Total Sales] FROM vRPTHourlySalesPerformance WHERE dt_when >= @start_of_day AND dt_when < @now GROUP BY create_hour_ordinal; -- 输出报表结果 SELECT Hour, [Total Sales] FROM @reportable_table;
关键修改说明:
- 使用
SUM(c_ticketitem_net_price)计算每个小时的总销售额,替代原来直接选取单条记录的价格字段 - 添加
GROUP BY create_hour_ordinal,确保按小时维度对数据进行分组聚合 - 最后添加
SELECT语句输出临时表中的汇总结果,方便直接查看报表
执行这段代码后,就能得到你期望的按小时分组的销售额汇总表。
内容的提问来源于stack exchange,提问作者Vien Hoang
相关产品推荐
相关产品推荐

