计算来自多个列值的相同数据

时间:2016-06-11 20:17:40

标签: sql sql-server select sql-server-2014

我正在使用SQL Server 2014。

我有五列用于回答不同的问题,但是不同的用户可以对不同的问题做出相同的响应。

获取单个列数我可以。但是如何从5列中获得相同的响应/值。

Column A    Column B   Column C    Column D    Column E
x           x          y           z           aa
y           z          0           0           0
0           x          x           0           x
aa          bb         0           x           aa

1 个答案:

答案 0 :(得分:0)

您可以使用union all运算符将所有值作为单个列获取,然后应用group by子句:

SELECT   val, COUNT(*)
FROM     (SELECT a AS val FROM mytable
          UNION ALL
          SELECT b AS val FROM mytable
          UNION ALL
          SELECT c AS val FROM mytable
          UNION ALL
          SELECT d AS val FROM mytable
          UNION ALL
          SELECT e AS val FROM mytable) t
GROUP BY val