求SQL:近10天销售额,有可能某天没有销售额,但是结果要求显示10条记录
0
数据库:SQLSERVER
有一个简单的需求,就是求近10天的销售额。
有可能某天没有销售额。
但是统计要求结果要有10条记录。如果没有销售额,则当天显示为0.
按如下查询脚本,结果某天没有销售额,就不会显示那一天。
查询结果如下:
2015-09-14 10.20
2015-09-15 10.30
2015-09-16 20.90
2015-09-17 10.50
期望如下:
2015-09-08 0
2015-09-09 0
2015-09-10 0
2015-09-11 0
2015-09-12 0
2015-09-13 0
2015-09-14 10.50
2015-09-15 10.30
2015-09-16 20.90
2015-09-17 10.50
不知道能不能用一个SQL写出来。请大家指教。谢谢。
有一个简单的需求,就是求近10天的销售额。
有可能某天没有销售额。
但是统计要求结果要有10条记录。如果没有销售额,则当天显示为0.
按如下查询脚本,结果某天没有销售额,就不会显示那一天。
查询结果如下:
2015-09-14 10.20
2015-09-15 10.30
2015-09-16 20.90
2015-09-17 10.50
期望如下:
2015-09-08 0
2015-09-09 0
2015-09-10 0
2015-09-11 0
2015-09-12 0
2015-09-13 0
2015-09-14 10.50
2015-09-15 10.30
2015-09-16 20.90
2015-09-17 10.50
不知道能不能用一个SQL写出来。请大家指教。谢谢。
--建表
CREATE TABLE [dbo].[test_order_info](
[paytime] [date] NULL,
[product] [varchar](50) NULL,
[realprice] [decimal](18, 2) NULL
) ON [PRIMARY]
GO
--初始化
INSERT INTO [test_order_info]
values('2015-09-14', '1', 10.2);
INSERT INTO [test_order_info]
values('2015-09-15', '1', 10.3);
INSERT INTO [test_order_info]
values('2015-09-16', '1', 10.4);
INSERT INTO [test_order_info]
values('2015-09-16', '2', 10.5);
INSERT INTO [test_order_info]
values('2015-09-17', '1', 10.5);
--查询
SELECT paytime, isNull(SUM([realprice]),0.0)
FROM dbo.[test_order_info]
WHERE paytime >= CONVERT(DATE, DATEADD(DAY, -10, GETDATE()))
GROUP BY paytime
ORDER BY paytime
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
悟 - 取是能力,舍是境界 2015-09-24 回答
赞同来自: BAO胖子 、Ilovelyy 、天涯浪子 、郑大鹏