[英]Why mysql select count(distinct user_id) return wrong number?
我在mysql中有一個大表。它有1300萬行。
Mysql版本是5.7.10。
表結構如下:
create table table_name (
user_id varchar(20) not null,
item_id varchar(20) not null
);
1.第一個sql是:
select count(distinct user_id) from table;
結果:760000
2.第二個sql是:
select count(1) from (select user_id from table group by user_id) a;
結果12萬
每行的user_id不為null 。
而且,正確的數字是120,000。為什么第一個sql得到錯誤的數字?
然后,我在hive和spark-sql中運行第一個sql,結果是120,000。
那么,這是一個mysql的錯誤還是可以設置一些東西來做正確的事情?
謝謝!
更新 :我在另一台PC上試用,第一個sql的結果是120,000。這次得到正確的號碼.Mysql版本是5.6.26。 所以,也許這是5.7.10的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.