gpt4 book ai didi

mysql - count(distinct col_name) 与计算 select distinct 查询的行数不同吗?

转载 作者:可可西里 更新时间:2023-11-01 07:09:35 27 4
gpt4 key购买 nike

我在 MySQL 数据库中有一个包含 1100 万行的表。其中一列是个人身份证号码。人们在表中被多次列出,我想知道有多少个唯一的个人 ID 号码。然后创建一个包含这些唯一数字的表格。当我计算列中不同的个人 ID 号码时,我得到的号码与我将它们直接插入表格时得到的号码不同。例如:

select count(distinct person_key) from big_table;  

给我的计数是 4,074,890。

然后当我尝试用它们创建一个表时,

insert into new_table select distinct person_key from big_table; 

它只创建了 2,701,875 行。

(此外,如果我使用查询:select count(1) from (select distinct person_key from big_table) temp; 它会给我 2,701,875。)

知道我做错了什么吗?

最佳答案

COUNT(DISTINCT expr,[expr...])

Returns a count of the number of rows with different non-NULL expr values

MySQL 文档是这么说的。所以我认为 person_keyNULL 或重复值

关于mysql - count(distinct col_name) 与计算 select distinct 查询的行数不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33701719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com