一 说明:
数据表如下:
#以name字段分组统计,每个name字段有多少个不同的zhi值。然后再求和
select sum(tt.he) from (
select name,count(distinct zhi) as he from tb_fu group by name
) as tt
union all
#全量统计 zhi字段有多少个不同的值
select count(distinct zhi) from tb_fu
结果:
是不是很奇怪,分组之后再统计居然比直接统计还多1个,
原因在于:name=A,name=B,均有zhi=1的数据。即zhi=1所属多个不同的name字段造成。
全查询是:zhi=1,zhi=2,总共2种
分布:A,zhi=1,2 共有2种
B,zhi=1, 共有1种
A,B 加一起则为3种。