我想计算MS Access Table中逗号分隔字段中值的出现次数。有任何建议请:
例如
表
ID |值
1 | 1,2,3
2 | 1,5,8,9,5
3 | 1,5,8,3
期望输出
ID | #of值
1 | 3
2 | 5
3 | 4
答案 0 :(得分:1)
正如 @ June7 所说,你需要一个可以在你的查询中调用的自定义函数。
将其放入标准模块:
Public Function CountValues(ByVal commaValues As Variant) As Long
If Not IsNull(commaValues) Then CountValues = UBound(Split(commaValues, ",")) + 1
End Function
您现在可以在查询中调用它:
SELECT ID, CountValues(FieldName) AS [# of value]
FROM YourTableName;
输出:
ID | [价值#]
1 | 3
2 | 5
3 | 4
4 | 0
NULL值默认为零。
答案 1 :(得分:0)
您也可以使用内置函数执行此操作,而无需调用自定义函数的开销:
select value, Len([value])-Len(Replace([value],",","")) as [# of value]