如何在多于一列的 SQLITE 中计算值?

How to count values in SQLITE in more then one column?

我喜欢在不止一列中统计我的用户出现的次数。这就是我计算列中值的方式:

SELECT COUNT(col_01) FROM table_01 WHERE col_01 = 'John'     // result: 2
SELECT COUNT(col_02) FROM table_01 WHERE col_02 = 'John'     // result: 4

有没有办法在我所有的列中一步算出 John 并得到结果 6?

提前致谢!

尝试条件聚合

select 
  sum(case when col_01='John' then 1 end) +
  sum(case when col_02='John' then 1 end)
from table_01;

首先过滤 table 以便您只获得 2 列中任何一列中带有 'John' 的行,然后在每一列上使用聚合函数 TOTAL()

SELECT TOTAL(col_01 = 'John') + TOTAL(col_02 = 'John') AS total
FROM table_01 
WHERE 'John' IN (col_01, col_02);