美文网首页
mysql之count注意点

mysql之count注意点

作者: 吴世浩 | 来源:发表于2017-12-14 11:29 被阅读154次

一、好言

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

二、前言

最近做数据统计,测试反馈说多了一个数据,然后后台看发现用户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

相关文章

  • mysql之count注意点

    一、好言 笑,全世界便与你同声笑,哭,你便独自哭。 二、前言 最近做数据统计,测试反馈说多了一个数据,然后后台看发...

  • mysql之count(*)

    在不同的 MySQL 引擎中,count(*) 有不同的实现方式。 MyISAM 引擎把一个表的总行数存在了磁盘上...

  • mysql之count问题

    相信大家都有听过,MyISAM 计算count值是非常快的,甚至有很多文章说MyISAM count值的计算快于I...

  • MySQL之count探究

    count()功能: 1、统计某个列的值的数量,在统计列值时要求列值是非空的(不统计NULL)即:在COUNT()...

  • 【MySQL】count(*) count(字段) count(

    准备 创建库表 创建存储过程 生成数据 简介 count() 是MySQL内置函数,用来统计字段中非NULL的数量...

  • MySQL count(*) 慢吗

    原文《MySQL实战45讲》 count(*)的实现方式 在MySQL中,不用的引擎对count(*)有不同的实现...

  • 14 . count

    count(*) 的实现方式 讨论的是没有过滤条件的 count(*)在不同的 MySQL 引擎中,count(*...

  • MySQL - count(*)

    count(*) 的实现方式 在没有过滤条件的 count()下,在不同的 MySQL 引擎中,count() 有...

  • MySQL count

    不同引擎count(*)实现方式不同 MyISAM引擎把一个表的总行数记录在了磁盘上,执行count(*)会直接返...

  • 【MySQL】count

    count():用来统计表中记录的一个函数,返回符合条件的行数。count(*):返回表中的记录数(包含所有列),...

网友评论

      本文标题:mysql之count注意点

      本文链接:https://www.haomeiwen.com/subject/slrzixtx.html