【问题标题】:How to count/sum the number of text cells in a row如何计算/求和一行中的文本单元格的数量
【发布时间】:2021-12-24 03:29:17
【问题描述】:
我有一个简单的模型来存储文本值。我喜欢计算结果不是“nincs”的单行中有多少个文本单元格。
在这种情况下,我喜欢(kap_bar_01 + kap_bar_02 + kap_bar_03 + kap_bar_04 + kap_bar_05),我需要的结果是 3。
我试过了,但是不行:
SELECT (kap_bar_01 + kap_bar_02 + kap_bar_03 + kap_bar_04 + kap_bar_05) FROM mymodell
结果为 0。
提前谢谢你!
【问题讨论】:
标签:
sql
sqlite
count
sum
boolean-expression
【解决方案1】:
假设列不可为空,您可以对布尔表达式求和:
SELECT (kap_bar_01 <> 'nincs') +
(kap_bar_02 <> 'nincs') +
(kap_bar_03 <> 'nincs') +
(kap_bar_04 <> 'nincs') +
(kap_bar_05 <> 'nincs') AS result
FROM mymodell;
如果它们可以为空,也使用COALESCE():
SELECT (COALESCE(kap_bar_01, '') <> 'nincs') +
(COALESCE(kap_bar_02, '') <> 'nincs') +
(COALESCE(kap_bar_03, '') <> 'nincs') +
(COALESCE(kap_bar_04, '') <> 'nincs') +
(COALESCE(kap_bar_05, '') <> 'nincs') AS result
FROM mymodell;