简体   繁体   English

DB2 SQL列百分比计算

[英]DB2 SQL column percentage calculation

Need to calculate a percentage of filled rows in a column(string). 需要计算一列(字符串)中已填充行的百分比。

String column could contain zero length strings (should be excluded) 字符串列可以包含长度为零的字符串(应排除在外)

How to re-write this SQL in one sentence (without WITH operator)? 如何用一个句子(不带WITH运算符)重写此SQL?

          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

You can use sub-selects instead of WITH; 您可以使用子选择代替WITH; for example: 例如:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM