[英]MS SQL: Count entries as one in multiple columns
I try to count how many times a value is in either column. 我试着计算任一列中值的次数。 If the value is in both colums on the same row, it should only be counted as one. 如果该值在同一行的两个列中,则只应计为一个。
| a | b
########################
1 | henrik | hans
2 | anne | henrik
3 | peter | finn
4 | henrik | henrik
5 | hans | anne
The count for 'henrik' should be 3. I have tried to count and group, but without any succes. 'henrik'的计数应为3.我已经尝试计算和分组,但没有任何成功。
select count(*)
from table
where a = 'henrik' or b = 'henrik'
Try this: 尝试这个:
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;
This will give you: 这会给你:
| AB | COUNT |
------------------
| anne | 2 |
| finn | 1 |
| hans | 2 |
| henrik | 3 |
| peter | 1 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.