如何计算多列中值的总体外观?
原始表:
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有一些方法可以很好地处理这个问题。
答案 0 :(得分:1)
这是使用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
答案 1 :(得分:0)
试试这个
select name , count(*) as appearances from
(
select col1 as name from Raw
union all
select col2 as name from Raw
)t
group by name