MS SQL:在多列中将条目作为一个进行计数

MS SQL:在多列中将条目作为一个进行计数,sql,count,multiple-columns,Sql,Count,Multiple Columns,我试图计算一个值在任一列中的次数。 如果该值位于同一行的两个列中,则只应将其计为一个 | a | b ######################## 1 | henrik | hans 2 | anne | henrik 3 | peter | finn 4 | henrik | henrik 5 | hans | anne “henrik”的计数应该是3。 我尝试过计数和分组,但没有成功。试试这个: selec

我试图计算一个值在任一列中的次数。 如果该值位于同一行的两个列中,则只应将其计为一个

     |   a     |    b 
########################
1    | henrik  | hans
2    | anne    | henrik
3    | peter   | finn
4    | henrik  | henrik
5    | hans    | anne
“henrik”的计数应该是3。 我尝试过计数和分组,但没有成功。

试试这个:

select count(*)
from   table
where  a = 'henrik' or b = 'henrik'
SELECT ab, COUNT(DISTINCT id) AS 'Count'
FROM
(
    SELECT id, a AS ab FROM table1
    UNION ALL
    SELECT id, b       FROM table1
) AS T
GROUP BY  ab;
. 这将为您提供:

|     AB | COUNT |
------------------
|   anne |     2 |
|   finn |     1 |
|   hans |     2 |
| henrik |     3 |
|  peter |     1 |
试试这个:

SELECT ab, COUNT(DISTINCT id) AS 'Count'
FROM
(
    SELECT id, a AS ab FROM table1
    UNION ALL
    SELECT id, b       FROM table1
) AS T
GROUP BY  ab;
. 这将为您提供:

|     AB | COUNT |
------------------
|   anne |     2 |
|   finn |     1 |
|   hans |     2 |
| henrik |     3 |
|  peter |     1 |

谢谢你的回复,保罗。但我能让它充满活力吗?我也不想在回答保罗时加上彼得、安妮和任何其他名字。但我能让它充满活力吗?我也不想再加上彼得、安妮和任何其他名字