使用SQL对Access数据库列中的字符进行计数

我有下表

col1  col2  col3  col4

==== ==== ==== ====

1233 4566 ABCD CDEF

1233 4566 ACD1 CDEF

1233 4566 D1AF CDEF

我需要计算col3中的字符,因此从上表中的数据中可以得出:

char  count

==== =====

A 3

B 1

C 2

D 3

F 1

1 2

仅使用SQL可以实现吗?

目前,我正在考虑将参数传递到SQL查询中,并依次计算字符数,然后求和,但是我还没有启动VBA部分,坦率地说,我不想这样做。

这是我目前的查询:

PARAMETERS X Long;

SELECT First(Mid(TABLE.col3,X,1)) AS [col3 Field], Count(Mid(TABLE.col3,X,1)) AS Dcount

FROM TEST

GROUP BY Mid(TABLE.col3,X,1)

HAVING (((Count(Mid([TABLE].[col3],[X],1)))>=1));

非常感谢您提供想法和帮助,因为我通常不使用Access和SQL。

回答:

知道colum3的固定长度为4,这个问题就很容易了。

假设有一个视图V,该视图V包含四列,每列对应第3列中的一个字符。

V(c1, c2, c3, c4)

不幸的是,我不熟悉特定于Access的SQL,但这是您需要的常规SQL语句:

SELECT c, COUNT(*) FROM

(

SELECT c1 AS c FROM V

UNION ALL

SELECT c2 FROM V

UNION ALL

SELECT c3 FROM V

UNION ALL

SELECT c4 FROM V

)

GROUP BY c

以上是 使用SQL对Access数据库列中的字符进行计数 的全部内容, 来源链接: utcz.com/qa/402316.html

回到顶部