我想要计算可能出现在3个不同列中的值,但只需要计算唯一值。 Microsoft SQL。例如,值X可能出现在列A,B或C或全部3中,但需要确保我只获得唯一的值X计数,而不管它出现在哪个列中。选择可能出现在不同列中的唯一值的计数
谢谢!
我想要计算可能出现在3个不同列中的值,但只需要计算唯一值。 Microsoft SQL。例如,值X可能出现在列A,B或C或全部3中,但需要确保我只获得唯一的值X计数,而不管它出现在哪个列中。选择可能出现在不同列中的唯一值的计数
谢谢!
这是你在找什么?我想我应该也表明它没有组,因为你没有指定分组是多少列中找到这将计数每行只有1次出现的不管。
SELECT
ID
,SUM(CASE WHEN ColA = 'X' OR ColB = 'X' OR ColC = 'X' THEN 1 ELSE 0 END) AS ValueCount
FROM
TABLENAME
GROUP BY
ID
。
SELECT
,SUM(CASE WHEN ColA = 'X' OR ColB = 'X' OR ColC = 'X' THEN 1 ELSE 0 END) AS ValueCount
FROM
TABLENAME
如果你想在任何列A
,B
,或C
来算的X
每个单独发生,那么下面应该工作:
SELECT
SUM(CASE WHEN A = 'X' THEN 1 ELSE 0 END) +
SUM(CASE WHEN B = 'X' THEN 1 ELSE 0 END) +
SUM(CASE WHEN C = 'X' THEN 1 ELSE 0 END)
FROM yourTable
谢谢大家。最终有数百万个人的“X”,我需要一个独特的计数,所以我不认为我可以在任何地方指定“X”。我没有桌子,但让我们假设我们正在谈论公钥。然而,在这种情况下,每个键可以位于块a,块b或块c中或全部三个中。我只希望每个关键点只计算一次。如果我只有唯一键的总数,也许更容易。根据它们出现在哪个块上的情况,将会有一个按键数量的后续分割,不需要显示键的名称,只需显示计数。 –
我想我需要一个选择计数不同跨多列 –
@FlorenceGoy向我们展示示例输入和输出,这将是非常有益的,谢谢。 –
要清楚,要问的A列,B列或C列中至少有一列包含X的行数的计数?对列A和列B都包含X的行进行重复计数是不正确的,对吗? –
您能否包含预期输出的示例表? –