我有select SELECT COUNT(*),names,names2,whole FROM results GROUP BY names"
;
这个选择正在运行=有多少名称重复,但如果我添加相同的名称从names2(GROPU BY名称,名称2)收集,那么不起作用。有人可以告诉我如何实现它吗? 我需要名字和名字2列来计算,并给我数字有多少名字。感谢
修改
names names2
John Michael
Peter John
Michael Peter
Peter Michael
我需要找到名字和名字中的所有Micahel2并给我一些。
结果:
Michael 3
John 2
Peter 2
答案 0 :(得分:3)
我会为name1和name2使用两个SELECTS,以便它们显示为一列(name1在name1之下,而不是并排),然后UNION ALL它们和然后进行计数:< / p>
select x.name, count(*) from (
select names as `name` from results
UNION ALL
select names2 as `name`from results) x
group by x.name;
重要的是UNION ALL中的 ALL ,因为没有ALL它会消除重复,而这正是你不想要的。