如何计算所有列中值的出现次数

时间:2017-04-03 13:11:39

标签: oracle11g

我能够找出单个列中Count的出现次数。 使用

select column_name,count(count_name) 
from table_name order by column_name

但我希望查询不会出现多个列值。

1 个答案:

答案 0 :(得分:0)

count函数,当直接在列上使用时,只返回行的计数。多列上的计数总和就是行数乘以列数。我们可以做的一件事是在所有列上返回条件的解码总和,例如:

select mytable.*,
DECODE(mytable.column1,"target value",1,0) + DECODE(mytable.column2,"target
value",1,0) as hits from mytable

基本上它的作用是,对于每一行,它将检查满足条件的列的数量。在这种情况下,该值('hits')可以是0,1或2,因为我们正在检查超过2列的条件。