id district icnum
1 10 111
2 10 112
3 10 113
4 10 114
5 10 111
6 20 115
7 20 116
8 20 117
9 20 111
10 20 111
11 30 118
12 30 119
13 30 111
14 30 111
15 30 120
我有上面的示例表。我想创建一个mysql查询来检查'icnum'的重复,摘要/计数以及重复列表。什么
我想要的是:
在'20'区内找到'10'区内有多少'icnum' 在'30'区内找到了'10'区内有多少'icnum' 在'30'区内,'20'区内有多少'icnum'。
我已经尝试了在stackoverflow中找到的几个查询,但它没有给我我想要的结果。我是复杂sql查询的新手。
因此,我应该为每个区域单独执行查询以获得结果。请在stackoverflow中掌握MySQL,帮助我解决这个问题。 TQ
以下是我想要的示例输出:
district district count(*)
10 20 2
10 30 2
20 30 2
答案 0 :(得分:0)
您可以使用自联接来执行此操作:
select t1.district, t2.district, count(distinct t1.icnum)
from t t1 join
t t2
on t1.icnum = t2.icnum and t1.district < t2.district
group by t1.district, t2.district;
注意:
count(*)
代替count(*)
。