2015-04-07 3 views
0

Нужно вычислить процент заполненных строк в столбце (строке).Расчет процентной ставки в столбцах SQL SQL

Строка столбец может содержать нулевые строки длины (должны быть исключены)

Как переписать этот SQL в одном предложении (без WITH оператора)?

  with A(COUNT) // needed rows 
      as(
       select count(FAMILY) from T1 
        where length(FAMILY)>0 
       ), 
       B(COUNT) // total rows 
      as(
       select count(*) from T1) 

     select A.COUNT*100/B.COUNT from A,B 

ответ

1

Вы можете использовать подвыборы вместо WITH; например:

select 
    ((select count(*) from T1 where length(FAMILY) > 0) * 100)/
    (select count(*) from T1) 
from sysibm.sysdummy1 
+0

Спасибо! Оно работает) – gmlvsv

Смежные вопросы