150分求一个复杂的sql语句。
把我的问题简化成以下问题,实际上还有很多字段。
表CprHourly中有以下字段,
WorkedDate Hour
2006/01/01 2
2006/01/02 7
2006/01/03 3
2006/01/04 5
.
.
.
2007/02/05 7
现在查询条件是两个日期,一个开始日期,如2006/10/15,结束日期2007/01/05,这些变量都会变的。
要求查询出来以下结果(90是2006/10/15到2006/10/31之间hour的总和 )
2006/10/15-2006/10/31 2006/11/01-2006/11/30 2006/12/01-2006/12/31 2007/01/01-2007/01/05
90 100 150 200
------解决方案--------------------看看,顺便帮顶
------解决方案--------------------呵呵,不会了,只能做到这一步:
select convert(varchar(10), min(workeddate), 101) + '- ' + convert(varchar(10), max(workeddate), 101) as date ,
sum(hour) as hour
from CprHourly
group by datepart(mm, workeddate)
date hour
--------------------- -----------
01/01/2007-01/22/2007 3904
10/15/2006-10/31/2006 474
11/01/2006-11/30/2006 2361
12/01/2006-12/31/2006 2648