MS Access SQL:按月分组
MS Access SQL: Grouping By Month
我正在尝试创建一个 SQL 查询,其中 returns 每个月出现在我的 table 中的频率(以百分比形式)。
我写的 SQL 以下内容是:
SELECT Format(Sum(IIf(Sale_PickupDateTime="*/01/*",1,0))/Count(Sale_PickupDateTime), "Percent") AS January
FROM [Sales Table];
我计划每个月都继续。
我的问题是,当我尝试 运行 这段代码时,出现以下错误:
"Data Type Mismatch in Criteria Expression."
我相当确定会发生这种情况,因为 sale_pickupdatetime 是一种通用日期格式,因为我在其他地方使用过此代码(Sale_reason 是一个文本字段):
SELECT Format(Sum(IIf(Sale_Reason="Business",1,0))/Count(Sale_Reason), "Percent") AS Business
FROM [Sales Table];
而且效果很好。
Afaik Access 支持 MONTH
函数:
SELECT
Format(Sum(IIf(MONTH(Sale_PickupDateTime)=1,1,0))/Count(Sale_PickupDateTime)
, "Percent") AS January
FROM [Sales Table];
你需要这样的东西:
Select
Format(Sale_PickupDateTime, "yyyymm") As Period,
Format(Count(*)/DCount("*", "[Sales Table]"), "Percent") As MonthShare
From
[Sales Table];
Group By
Format(Sale_PickupDateTime, "yyyymm")
我正在尝试创建一个 SQL 查询,其中 returns 每个月出现在我的 table 中的频率(以百分比形式)。
我写的 SQL 以下内容是:
SELECT Format(Sum(IIf(Sale_PickupDateTime="*/01/*",1,0))/Count(Sale_PickupDateTime), "Percent") AS January
FROM [Sales Table];
我计划每个月都继续。
我的问题是,当我尝试 运行 这段代码时,出现以下错误:
"Data Type Mismatch in Criteria Expression."
我相当确定会发生这种情况,因为 sale_pickupdatetime 是一种通用日期格式,因为我在其他地方使用过此代码(Sale_reason 是一个文本字段):
SELECT Format(Sum(IIf(Sale_Reason="Business",1,0))/Count(Sale_Reason), "Percent") AS Business
FROM [Sales Table];
而且效果很好。
Afaik Access 支持 MONTH
函数:
SELECT
Format(Sum(IIf(MONTH(Sale_PickupDateTime)=1,1,0))/Count(Sale_PickupDateTime)
, "Percent") AS January
FROM [Sales Table];
你需要这样的东西:
Select
Format(Sale_PickupDateTime, "yyyymm") As Period,
Format(Count(*)/DCount("*", "[Sales Table]"), "Percent") As MonthShare
From
[Sales Table];
Group By
Format(Sale_PickupDateTime, "yyyymm")