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