按差异计算区别与组

时间:2017-05-06 04:10:07

标签: mysql

我有一张1.6亿行的大表。我正在尝试准确计算唯一的电话号码。我得到以下结果:

select count(distinct `number`) from customers;

结果=约1.43亿行

select `number` from customers group by `number`;

结果=约430万行

当我在过去的其他较小的表上运行类似的计数(不同)和分组时,我在两者之间收到了相同数量的结果。

有关导致这种差异的原因的任何想法吗?

更新

我使用awk从csv中获取数字列。然后我在Linux中运行了这两个命令:

sort temp | uniq > temp_unique

wc -l temp_unique

结果(约430万)与上面的第二个选择陈述相同。

我删除了索引并重建了它,现在上面的第一个count语句返回了430万行,所以看起来我有一个损坏的索引。我很好奇为什么腐败指数会在计数中显示更多结果而不是更少。有什么想法吗? (我正在使用innodb btw。)

0 个答案:

没有答案