mysql之count注意点

一、好言

笑,全世界便与你同声笑,哭,你便独自哭。

二、前言

最近做数据统计,测试反馈说多了一个数据,然后后台看发现用户id有的是null,有的是"",最后我统一把用户id改为"",结果由于这个用户id是新增的,insert的时候没有改sql,所以插入的userId都是null,测试说统计正确,然后我改完sql,用户id插入""后,测试反馈又多一条数据,我就纳闷了,难道是distinct的问题,经过实际测试,内容如下

三、内容。

select count(DISTINCT name) from test;

SELECT COUNT(*) FROM (SELECT DISTINCT NAME FROM test) t1

SELECT COUNT(1) FROM (SELECT DISTINCT NAME FROM test) t1

这三条sql得到的结果会有有什么区别么
先看看没有count的时候的数据


图片.png

那么我们认为这是有6条数据
(1)、那么看看下面这条sql查询结果

select count(DISTINCT name) from test;
图片.png

(2)、查看count(*)的结果

SELECT COUNT(*) FROM (SELECT DISTINCT NAME FROM test) t1
图片.png

(3)、查看count(1)的结果

SELECT COUNT(1) FROM (SELECT DISTINCT NAME FROM test) t1
图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容