如何计算所有行2列中的不同值

时间:2019-09-13 10:37:20

标签: sql

我有2列,并且我希望在整个BOTH列中查找所有不同值的计数,而不仅仅是两列中的同一行。 IE此处的不同值计数为9,因为1000、5000、7000和8000仅包含一次。

 x          y
 1000    NULL
 2000    1000
 3000    1000
 4000    1000
 5000    1000
 6000    5000
 7000    5000
 8000    7000
 9000    8000

2 个答案:

答案 0 :(得分:0)

您可以取消数据透视和计数:

select count(distinct x)
from ((select x from t) union all
      (select y from t)
     ) t;

也就是说,第一列看起来是唯一的,并且具有您想要的信息,所以也许您只是想要:

select count(*)
from t;

或者:

select count(distinct x)
from t;

答案 1 :(得分:0)

联盟是必经之路

    Select count(*) from(Select x from 
    table tx 
   union
   Select y from table ty) ;