我使用的是Oracle SQL,我需要一个查询帮助。
我需要计算有多少行至少有一个值NA
。
我的表有超过300列(这些不是真正的列名):
col1 varchar,
col2 varchar,
col3 varchar,
...
...
...
col300 varchar
以下是表格的示例:
col1 | col2 | col3 | col4
10 | 15 | 55 | NA
NA | 15 | 55 | NA
10 | 15 | 55 | 33
10 | NA | 55 | 58
10 | 15 | 55 | 33
10 | 15 | 55 | 84
10 | 15 | NA | 40
Output expected result: 4
请告知。
答案 0 :(得分:1)
你可以使用案例来做一个子选择的总和来得到这个:
Select SUM(NA)
From
(Select case when col1 = 'NA' then 1 case when col2 = 'NA' then 1 case when col3 = 'NA' then 1 case when col4 = 'NA' then 1 end as NA
from Table) a
答案 1 :(得分:0)
使用计数
SELECT
COUNT(1)
FROM
table_name
WHERE
'NA' IN (col1, col2, ..., col300)
答案 2 :(得分:0)
好吧,我找到了解决方案。
select sum(cnt) from
(
select case when
col1 = 'NA'
or col2 = 'NA'
or col3 = 'NA'
or col4 = 'NA' then 1 end cnt
from MyTable
)