实现下列语句
表
tb
内容如下
shijian zu shuliang
2007-4-20 17:52:47 23 35
2007-4-21 9:07:51 34 45
。
。
。
。
会有很多组,组是有重复的
现在我想统计
21每个月的数量总和
比如
shijian shuliang
2007-01 45654
2007-02 3534
2007-03 22332
2007-04 544
2007-05 0(没有到或者统计的确是0,所以为0)
2:每个月中每一个组的数量总和
比如
shijian zu shuliang
2007-01 34 252343
2007-01 23 3454
'
'
'
2007-02 23 5423
'
'
'
'
数据库是access,由于ACCESS 不支持CONVERT
如何实现啊
------解决方案--------------------没有Convert,但是有format()函数,功能类似。
如:
format(now(), "yyyy-mm ")
返回:2007-04
------解决方案----------------------1、
SELECT
format(shijian, "yyyy-mm ") as 年月,
Sum(tb.shuliang) AS 数量合计
FROM tb
GROUP BY format(shijian, "yyyy-mm ")
--2、
SELECT
format(shijian, "yyyy-mm ") as 年月,
zu as 组,
Sum(tb.shuliang) AS 数量合计
FROM tb
GROUP BY format(shijian, "yyyy-mm "),zu
------解决方案-------------------- Format 函数
返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法
Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
Format 函数的语法具有下面几个部分:
部分 说明
expression 必要参数。任何有效的表达式。
format 可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek 可选参数。常数,表示一星期的第一天。
firstweekofyear 可选参数。常数,表示一年的第一周。
设置值
firstdayofweek 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
VbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。