我正在尝试计算连续 4 个单独列中的不同条目,然后对结果求和。
例如,表头看起来类似于:
ID Col1 Col2 Col3 Col4
每列(保存 ID)可以有一个文本值 W、X、Y 或 Z。列可以有相同的值。
我想做的是找出一种方法来计算列中的每个条目,但每行只计算一次 W、X、Y 和 Z。因此,如果:
ID Col1 Col2 Col3 Col4
X X Y
Y W X
Z Y Y
结果表将是:
Value Count
W 1
X 2
Y 3
Z 1
任何帮助将不胜感激。
也许我错过了一些东西,但这会这么简单吗:
Select Val, Count(*)
From (
Select Id, Col1 As Val From Table1
Union Select Id, Col2 From Table1
Union Select Id, Col3 From Table1
Union Select Id, Col4 From Table1
) As Z
Where Z.Val Is Not Null
Group BY Z.Val
没有理由使用Distinct
and Union
一起作为Union
将使结果与众不同。因此,我们需要包含每行的唯一值(Id
).
SQL小提琴 http://www.sqlfiddle.com/#!3/68aa3/14(这使用 SQL Server,但相同的语法也适用于 MS Access)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)