我有一个带有时间戳日期列的orders表。我希望计数为(每个日期)下的订单数量,包括没有下订单的日期为零,如下所示:
TotalOrders?约会。 12 0 7? 0? 4 0
我在这里搜索了这个,找到了一个解决方案:
选择COUNT(o.OrderID)作为TotalOrders,a.date 从(选择n5.num*10000+n4.num*1000+n3.num*100+n2.num*10+n1.num date_add('2019-07-01',间隔日期)为日期 从(选择0作为num联合,全部选择1个联合,全部选择2个联合) 全部选择3工会,均选择4工会,均选择5工会,均选择6工会,均选择7工会,均选择8联合,均选择9) n1, (选择0作为num联合,均选择1个联合,均选择2个联合,均选择3个联合,均选择4个联合,均选择5个联合,均选择6个联合,均选择7个联合,均选择8个联合,均选择9) n2, (选择0作为num联合,均选择1个联合,均选择2个联合,均选择3个联合,均选择4个联合,均选择5个联合,均选择6个联合,均选择7个联合,均选择8个联合,均选择9) n3, (选择0为num联合,均选择1个联合,均选择2个联合,均选择3个联合,均选择4个联合,均选择5个联合,均选择6个)。 联合所有选择7个联合,全部选择8个联合,都选择n4, (选择0作为num联合,全部选择1个联合,均选择2个联合,均选择3个联合,均选择4个联合,均选择5个联合,均选择6个联合,均选择7个联合,均选择8个联合,均选择9) n5 ) (A) 月(o.Date)=月(a.date) 和年份(o.Date)=年份(a.date),其中月份(a.date) ='7‘和 年份( a.date )= '2019‘组按a.date顺序按a.date排序
编辑:和2019年7月一样,总共下了4个订单,所以当我使用上面的解决方案时,它给出了每个日期的4结果。相反,它应该显示相应日期的顺序计数,对于没有订单的日期显示为零。但它显示了每一次约会4次。请让我知道我在哪里做错了。我的订单表是:
命令(OrderID(P.K),Date,totalPrice,CustomerID)
发布于 2019-07-03 23:02:11
你的样本数据没有2019年7月的例子。
我还建议您在where比较中使用范围,因此对于2019年1月:
where a.date >= '2019-01-01' and a.date < '2019-02-01' https://stackoverflow.com/questions/56878842
复制相似问题