我有一个像这样设置的表:
+----+-------+-------+
| id | col1 | col2 |
+----+-------+-------+
| 1 | John | Mike |
| 2 | Mike | John |
| 3 | Marty | John |
| 4 | Walt | Marty |
| 5 | Walt | Mike |
+----+-------+-------+
我基本上想要计算col1和col2中的唯一值,并将它们与适当的唯一值一起显示.问题是col1不一定包含col2所具有的所有相同名称,反之亦然.我希望得到这样的设置:
+-------+-------+------+
| names | col1 | col1 |
+-------+-------+------+
| John | 1 | 2 |
| Marty | 1 | 1 |
| Mike | 1 | 2 |
| Walt | 2 | NULL |
+-------+-------+------+
我可以使用以下方法独立选择这些值
SELECT col1, count(col1) as count FROM example GROUP BY col1;
要么
SELECT col2, count(col2) as count FROM example GROUP BY col2;
但是我很难理解我如何将这两个计数加在一起,特别是因为这里的值“Walt”没有出现在col2中.