57,065
社区成员
发帖
与我相关
我的任务
分享SELECT name1,COUNT(*)
FROM (
SELECT name1 FROM A
UNION ALL
SELECT name2 FROM A
)
t
GROUP BY name1;
select name,count(name)
from(select name1 as name from A union all select name2 as name from A) as tmp
group by name order by name asc
root@localhost : test 04:49:08>select * from dd;
+------+-------+-------+
| id | name1 | name2 |
+------+-------+-------+
| 1 | aa | bb |
| 2 | aa | cc |
| 3 | bb | cc |
| 4 | aa | dd |
+------+-------+-------+
4 rows in set (0.00 sec)
root@localhost : test 04:49:22>select name,sum(num) from (select name1 name,count(*) num from dd group by name1 union all select name2 name,count(*) num from dd group by name2) t group by name ;
+------+----------+
| name | sum(num) |
+------+----------+
| aa | 3 |
| bb | 2 |
| cc | 2 |
| dd | 1 |
+------+----------+
4 rows in set (0.00 sec)