我有 select SELECT COUNT(*),names,names2,whole FROM results GROUP BY names"
;
此选择有效 = 有多少名称重复,但如果我添加相同的名称以从 names2 (GROPU BY names,names2) 中收集,则不起作用。有人可以告诉我如何实现吗? 我需要 names 和 names2 列来计算并告诉我有多少个名字。谢谢
编辑
names names2
John Michael
Peter John
Michael Peter
Peter Michael
我需要在 names 和 names2 中找到所有 Micahel 并给我一个数字。
结果:
Michael 3
John 2
Peter 2
最佳答案
我会对 name1 和 name2 使用两个 SELECTS,使它们显示为一列(name2 在 name1 下方,而不是并排),然后 UNION ALL 它们,然后进行计数:
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,它将消除重复项,而这正是您不想要的。
关于mysql - 从列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117959/