h1 h2 h3 h4 h5 h6 h7 h8
U U NULL U Y NULL Y X
U NULL U U Y Y X X
U U U NULL U NULL Y NULL
NULL NULL NULL NULL NULL NULL NULL NULL
X V U U Y NULL Z X
Y X NULL X Y Z U
X NULL U NULL NULL U Z Y
NULL NULL NULL NULL NULL NULL NULL NULL
以上数据集有8列h1,h2,h3 ... h8。如果所有的所有列均为NULL,则计数为0。如果至少一列具有值,则计数为1。 例如第一行的计数为6(不考虑空值)。
这里X =男孩,v =女孩,u =妻子,z =丈夫,y =头。因此,我们如何才能针对每一行明智地按类型(例如男孩,妻子或头等)找到计数。例如有多少个妻子,多少个丈夫或几个女孩?
应该喜欢输出
X(男孩)= 8 U(WIFE)= 15 ETC ....
从上面的数据集中读取...必须按类型计算当前的总人数。
答案 0 :(得分:1)
连接字符串,除去“ U”(对于妻子)以外的所有内容,计算长度,然后将它们加总。请查看代码中的注释:
<input [hidden]="!(mapApi == 'baidu')" name="username" id="suggestId" placeholder="" force-selection="true" autocorrect="off" autocapitalize="off" spellcheck="off"
type="text" class="form-control" [formControl]="control" pInputText>
答案 1 :(得分:0)
我认为您可以使用concat_ws来连接所有列,具有多个null值的concat_ws将返回一个空字符串。这样,您就可以使用length函数获取每一行的总列的长度(在您的示例中,每个单元格只有一个特征),这将返回每一行中非空列的计数。
SELECT LENGTH(CONCAT_WS('',h1,h2,h3,h4,h5,h6,h7,h8)) as h9 from your_table;