我想确定A列中相同值的多少倍在B列中有多少相同的对应值?我需要一些东西来查看A列中相同的值,看看它们对应的B值是否相等。在下面的示例中,对于Col A中的所有164,它们的B值都不匹配。对于25,它们的B值是匹配的。对于13,它们的B值是匹配的。因此,这个结果应该返回2/3,因为A列中的3个值中有2个匹配。我如何使它工作数百行?
Col A Col B
--------------------
164 42
164 51
164 13
25 10
25 10
13 4
13 4
发布于 2014-08-12 14:32:41
您可以使用嵌套的group by
来完成这一任务。下面是MS Access SQL:
select avg(AllSame)
from (select colA,
iif(min(colB) = max(colB), 1.0, 0.0) as AllSame
from table as t
group by colA
) as t;
子查询生成一个标志,该标志指定colA
中每个值的所有值是否相同。然后,外部查询计算比例。
发布于 2014-08-12 14:35:12
查看计数的基本方法:
SELECT A.A,
COUNT(A.A) AS NUM_A,
COUNT(B.B) AS NUM_B_MATCH,
FROM TABLE A
LEFT JOIN TABLE B ON A.A = B.B
GROUP BY A.A
得到2/3
SELECT SUM(iff(B.B IS NOT NULL,1,0)) / COUNT(A.A) AS Percent
FROM TABLE A
LEFT JOIN TABLE B ON A.A = B.B
https://stackoverflow.com/questions/25266943
复制相似问题