簡體   English   中英

為什么mysql選擇count(distinct user_id)返回錯誤的數字?

[英]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的錯誤。

有些時候包括在兩列中唯一鍵的列在MySQL多個已知的bug數不同。

在這里這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM