Mycat-Server icon indicating copy to clipboard operation
Mycat-Server copied to clipboard

mycat 1.6 count distinct问题

Open antong530 opened this issue 7 years ago • 3 comments

select distinct(packing_id) from logistics; select count(distinct(packing_id)) from logistics;

第一个sql的行数和第二个sql统计的数量不一致,请教问题

antong530 avatar Jul 31 '17 15:07 antong530

用了分片

antong530 avatar Jul 31 '17 15:07 antong530

packing_id不是分片键;例子如下:

分片1 分片2
packing_id1,packing_id2,packing_id3 packing_id2,packing_id3,packing_id4

这样select distinct(packing_id) from logistics;执行结果是从分片一上面执行select distinct(packing_id) from logistics;拿出packing_id1,packing_id2,packing_id3放入set,从分片二上面select distinct(packing_id) from logistics;拿出packing_id2,packing_id3,packing_id4放入set,结果是packing_id1,packing_id2,packing_id3,packing_id4

相对的,select count(distinct(packing_id)) from logistics;在分片一结果是3,在分片二结果也是3,相加是6.。。。这个的确是个Bug,考虑修复

HashJang avatar Aug 01 '17 12:08 HashJang

这个问题解决了吗?对于非分片键子段进行distinct 会出现重复数据

fighter321 avatar Feb 14 '22 04:02 fighter321