初学者怎么将SQL中同一个表中的两列记录合并后,查询并统计出每条记录出现的次数

菜鸟求教:如何将SQL中同一个表中的两列记录合并后,查询并统计出每条记录出现的次数
表中有这样两列数据:
名1            名2
---------------------
红        波
志        勇
刚        小
佳        丽
龙        红
润        志
----------------------
我想将“名1”、“名2”这两列合并查询并统计出每个字出现的次数:
希望的结果如下:
名        sum
-----------------------
红          2
志          2
刚          1
佳          1
龙          1
润          1
波          1
勇          1
小          1
丽          1
-----------------------
请问大家该怎么做呢?
------解决思路----------------------
引用:

select 名,count(名) from (
select  名1 as 名 from tablename
union all
select  名2 as 名 from tablename
) as a
group by 名

沒有名別名

select 名,count(名) as Sum from (
select  名1 as 名 from tablename
union all
select  名2 as 名 from tablename
) as a
group by 名