[英]SQL Sum of orders by date
我应该知道这一点,但由于某种原因,这让我感到困惑。
这个简单的代码按天输出所有订单
USE [K.1]
Select CreatedAt,Identifier,RoundedPriceSum from StarOrder
where SiteID = 1
and OrderType <>2
and CreatedAt between '2015/01/01' and '2015/08/20'
CreatedAt是一个日期,Identifier是唯一的订单ID,RoundedPriceSum是订单的总数。
是否可以修改代码以每天提供总计RoundedPriceSum_
使用GROUP BY
:
Select cast(CreatedAt as date) as CreatedDay, SUM(RoundedPriceSum)
from StarOrder so
where SiteID = 1 and OrderType <> 2 and
CreatedAt >= '2015-01-01' and
CreatedAt < '2015/08/20'
group by cast(CreatedAt as date)
order by CreatedDay;
有关查询更改的注意事项:
BETWEEN
替换为>=
和<
。 这样可以更好地处理带日期的日期。 cast(as date)
删除时间部分。 ORDER BY
因此结果按天排列。 select s.CreatedAt,s.Identifier,x.tot
from StarOrder s
join
(select CreatedAt,sum(RoundedPriceSum) as tot
from StarOrder
where SiteID = 1
and OrderType <>2
and CreatedAt between '2015/01/01' and '2015/08/20'
group by createdat) x
on x.createdat = s.createdat
where SiteID = 1
and OrderType <>2
and s.CreatedAt between '2015/01/01' and '2015/08/20'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.