[英]SQL, count in multiple columns then group by
我试图计算多个列然后分组总和,其中相同的数据出现在任何列中
Source data table:
P1 P2 P3
-----------
a b
a a a
b c
a b b
b a
我想要它显示这样的东西:
Desired query output:
Total
-------------
a | 6
b | 5
c | 1
您可以使用联合查询
SELECT x.f1,Count(x.f1) FROM
(SELECT p1 As F1 FROM table
UNION ALL
SELECT p2 As F1 FROM table
UNION ALL
SELECT p3 As F1 FROM table) x
GROUP BY x.f1
您可以将子查询和外部查询中的union all
记录合并, count
每个值。
SELECT b.a, COUNT(b.a)
FROM
(
SELECT P1 a
FROM tableName
UNION ALL
SELECT P2 a
FROM tableName
UNION ALL
SELECT P3 a
FROM tableName
) b
GROUP BY b.a
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.