sql语句求和问题?高手们进来看看帮帮小弟

我现在想把某一字段的求和,以日期为条件,求出每个月的和。
select sum(总粉重量) as c1 From HTable1 ,我该怎么写才能用一条语句把每个月的数据和求出来。
我用的是ACCESS数据库,我用ACCESS的工具已经得到每个月的数据,SELECT DISTINCTROW Format$([日期],'mmmm yyyy') AS [日期], Sum(总粉重量) AS [总和] FROM HTable1 GROUP BY Format$([日期],'mmmm yyyy'), Year([日期])*12+DatePart('m',[日期])-1;
但是,这样得到的数据时表中所有的每月之和。我想让用户自己选择时间得到自己想要的时间段数据,比如2010-1-1至2010-10-31日这几个月的数据。我现在在界面上作了两个日期控件DTP1和DTP2,我该怎么写。

参考这样写:
sql = "select format(日期,'yyyymm') as 年月,sum(数量) from 商品"
sql = sql + " where 日期 between #" & DTP1.Value & "# and #" & DTP2.Value & "#"
sql = sql & " group by format(日期,'yyyymm')"
若DTP1和DTP2分别为2009-1-25和2009-4-25,则构成的SQL Select语句为:
select format(日期,'yyyymm') as 年月,sum(数量) from 商品 where 日期 between #2009-1-25# and #2009-4-25# group by format(日期,'yyyymm')
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-24
如下:
select left(convert(nvarchar(20),日期,120),7) as 月份,sum(总粉重量) as c1 From HTable1 group by left(convert(nvarchar(20),日期,120),7)
第2个回答  2011-01-25
SELECT count(面粉数量) ab, sustring(日期,讲这个日期变成这种形式 201001,即表示某年某月) from B
where b.date> fromdate and b.date<todate
group by sustring(日期,讲这个日期变成这种形式 201001,即表示某年某月)
相似回答