如何计算一个值在多列中出现的总次数?
原始表:
col1 col2
---- ----
don sam
jon sam
mike lisa
sam lisa
lisa beth
结果:
name appearances
---- -----------
don 1
sam 3
jon 1
mike 1
lisa 3
beth 1
我试过编写一个连接,其中获取总计数是一个子查询,但这看起来很尴尬。我假设 MySQL 有某种方法可以很好地处理这个问题。
最佳答案
这是使用 UNION ALL
的一种方法:
select name, count(1) cnt
from (
select col1 as name from yourtable
union all
select col2 from yourtable
) t
group by name
结果:
NAME CNT
-----------
beth 1
don 1
jon 1
lisa 3
mike 1
sam 3
关于mysql - 计算一个值在表的任何列中的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928289/