在SQL 聚合函数 (Office 2007)GROUP BY
中,Access SQL中只有这些聚合函数:
Count(), Sum(), Avg(),
First(), Last(), Min(), Max(),
StDev(), StDevP(), Var(), VarP()
在PostgreSQL 聚合函数中,PostgreSQL中还有(除其他外)这些聚合函数:
array_agg (expression)
-- input values, including nulls, concatenated into an array
string_agg (expression, delimiter)
-- input values concatenated into a string, separated by delimiter
如何GROUP BY
在 Access 中获得等效的数组或字符串聚合函数?是否可以构建Access SQL 聚合函数?如果不清楚,如果我这个数据
ID col
-----
1 A
1 B
1 C
2 A
3 A
3 B
如何获得以下聚合?
ID cols
----------
1 A, B, C
2 A
3 A, B
我必须求助于VBA吗?还有其他想法吗?
我使用的是 Access 2007 - 2010,但如果新版本有所不同,请告诉我。
Access 确实带有一组域聚合功能。可以在此处或在此处的 MSN 文档中找到这些内容的概述。不幸的是,没有本地域连接功能。
幸运的是,Patrick Matthews 在这里发布了一个域连接函数(并在下面复制以防止链接失效),它将完成您正在寻找的内容。
从 DConcat() 的文档中:
对于有问题的具体示例:
应该返回这些值:
然后对每个不同的所需
ID
值重复。