我正在使用MSAccess 2010中的查询。
我想在多列中找到重复项的组合,计算它们的频率,给每个重复项计数一个唯一的ID,并按一个特定字段分组。 我的表有超过90个字段,看起来像这样:
ID Field1 Field2 Field3
-----------------------------
12554 0 1 0
12558 1 0 0
15488 1 0 0
11457 0 1 0
11554 1 1 0
我希望它看起来像这样:
RecID Field1 Field2 Field3 FREQ FREQID
-------------------------------------------------
11457 0 1 0 2 DU0001
11554 1 1 0 1 DU0002
12554 0 1 0 2 DU0003
12558 1 0 0 2 DU0004
15488 1 0 0 2 DU0004
我已经使用SELECT,count(*),GROUP和HAVING返回了成功的结果,只要计数和分组去了,但是如果为返回autogen结果的ID字段添加/代码感到困惑,以及如何让表格中的每一行显示原始的RecID
到目前为止,这是什么工作,我仍然难过:
SELECT Table1.Field1, Table1.Field2, Table1.Field3, Count(*) AS FREQ
FROM Table1
GROUP BY Table1.Field1, Table1.Field2, Table1.Field3
HAVING (Count(*) >= 1);
因为我是新手,如果它只涉及一个查询,那将是理想的。
答案 0 :(得分:0)
您可以通过以下方式获取频率ID:
SELECT
Table1.ID AS RecID,
Table1.Field1,
Table1.Field2,
Table1.Field3,
3 - Field1 - Field2 - Field3 AS FREQ,
Format((Select Count(*) From Table1 As T Where T.ID < Table1.ID),"\D\U0000") AS FREQID
FROM
Table1
GROUP BY
Table1.ID,
Table1.Field1,
Table1.Field2,
Table1.Field3
3 - Field1 - Field2 - Field3
HAVING
3 - Field1 - Field2 - Field3 > 0
修改强>
echo ^%%~n0^%%~x0 >> somefile.txt