今天在做一个报表,粗一看是没注意,仔细一看,原来是要统计Sql Server里一个销售明细表里某个时间段的销售额,而且要按周进行比较,脑子里一下子没了思路,心想总不见得兜个循环进行计算吧,查了一下资料,发现原 来短短的一句sql语句就可以实现,看来sql server的基本功还是不扎实啊。以下是该语句的写法:
select sum(销售金额), datename(week, 销售日期-1) from sales where 销售日期 betwee begindate and enddate group by datename(week, 销售日期-1)
注意:这里之所以要把销售日期-1是因为sql server默认的一周的第一天是星期天,而我们习惯的统计是以星期一到星期天计算的,所以减一。
select sum(销售金额), datename(week, 销售日期-1) from sales where 销售日期 betwee begindate and enddate group by datename(week, 销售日期-1)
注意:这里之所以要把销售日期-1是因为sql server默认的一周的第一天是星期天,而我们习惯的统计是以星期一到星期天计算的,所以减一。