一、好言
笑,全世界便与你同声笑,哭,你便独自哭。
二、前言
最近做数据统计,测试反馈说多了一个数据,然后后台看发现用户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
网友评论