SQL ROW_NUMBER()OVER(具有条件的PARTITION BY)

时间:2017-03-08 09:19:13

标签: sql dashdb

我理解Row_Number的基础知识但你如何在某些条件下使用它。所以,我需要col1 BUT中值的实例数,只需col2 is not nullcol2 is null

所以,我有这个:

col1    col2    col3
Orange  x       x
Orange  x   
Orange  x   
Banana          x
Banana      
Orange          x
Apple   x   
Aplle   x   
Banana  x   
Orange  x       x

我需要这个:

col1    col2    col3    newcol
Orange  x       x   
Orange  x               3
Orange  x               3
Banana          x   
Banana          
Orange          x   
Apple   x               2
Aplle   x               2
Banana  x               1
Orange  x       x       3

我在dashDB下运行。

1 个答案:

答案 0 :(得分:1)

据我所知,你需要 col1的数量,其中col2为null 和col1的数量,其中col2不为空 如果是这样,请试试这个

select col1, new_col, count(1)
from
(
select col1, "not_null" as new_col
from table
where
  col2 is not null
union
select col1, "is_null" as new_col
from table
where
  col2 is null
)
group by col1, new_col