简单说一下MySQL sum(1) count(1) 区别和联系

简单说一下MySQL sum(1) count(1) 区别和联系

有人说sum(1) 相当于 count(1) ,其实还是有一点点差别;

1. 首先说一下使用过程中注意的点

sum(1)  count(1) 使用过程中都有可能返回值为NULL,并不是统计不到就返回值为0

以下数据表实例

<span>简单说一下MySQL sum(1) count(1) 区别和联系</span>

 <1> 对于sum(1),如果带 where 条件查不到数据,则返回Null

SELECT sum(1) FROM tickets WHERE `order` > 10000 

  <span>简单说一下MySQL sum(1) count(1) 区别和联系</span>

  <2> 对于 count(1) ,如果带 where 且 group by  操作, where条件下无数据,也会返回NUll 

SELECT count(1) FROM tickets WHERE `order` > 10000   GROUP BY priority

  <span>简单说一下MySQL sum(1) count(1) 区别和联系</span>

 都可以用 IFNULL(count(1),0)  优化处理

2.具体说一下 sum(1) count(1)  统计数据上面的差别

<span>简单说一下MySQL sum(1) count(1) 区别和联系</span>

 

 

 

SELECT sum(if(t.`order`=666,1,0)) as sum ,
count(if(t.`order`=666,1,0)) as count,
count(1),
count(0),
sum(1),
sum(0)
FROM tickets t
GROUP BY priority

<span>简单说一下MySQL sum(1) count(1) 区别和联系</span>

   可以看到,count() 其中请携带的if条件没有起作用,在分组后,count(1)  count(0)  统计的都是所有条数, sum可根据 0 1 起到 if()  我们想要的统计效果

 

多多实践总结~

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2566.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SQL删除多表关联数据的三种方法

    SQL删除多表关联数据的三种方法1.级联删除 createtablea(id varchar(20)primarykey,passwordvarchar(20)notnull)createtableb(idintidentity(1,1) primarykey,namevarchar(50)notnull,userIdvarchar(20),fo

  • ETH挖矿初尝_eth挖矿教程

    ETH挖矿初尝_eth挖矿教程参考博客:http://blog.csdn.net/a1291985595/article/details/72849999挖矿软件:http://pan.baidu.com/s/1o7ZQ2HO问题解决:各类dll缺失解决办法http://www.pcyisheng.com/act/20150616050d56a766.html或下载360安全卫士–

    2022年10月10日
  • pycharm加注释的快捷方式_pycharm如何批量注释

    pycharm加注释的快捷方式_pycharm如何批量注释1、主题  在开发项目的过程中经常需要创建任务列表,对于一些小任务,在代码中插入便签注释会有奇效。  这种注释的格式如下:  2、创建便签注释  非常简单:  首先,将光标定位到相应行。  然后,创建一行注释(Ctrl+Slash)。  最后,在#后面,输入TODO或者todo,然后输入注释  3、浏览便签  在T

  • linux命令hexdump,Linux系统中hexdump的命令汇总

    linux命令hexdump,Linux系统中hexdump的命令汇总Linux系统中hexdump的命令汇总hexdump是Linux系统中用来查看文件十六进制编码的命令,配合不同的参数其作用也有所不同,下面小编就给大家介绍下Linux中hexdump命令的用法,不了解的`朋友不妨来学习一下。查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。可以将二进制文件转换为ASCII、10进制、16进制或8进制进行查看。-b每一字节以八进制显示,一行共16个字节…

  • Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗)

    Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗)本文章使用的是KaliLinux的2020-4-installer-amd64版本KaliLinux的安装过程本文章不做过多说明,请自行百度一、DDos攻击首先,打开一个命令行输入以下命令:gitclonehttps://github.com/Ha3MrX/DDos-Attack提示如图所示这样,用于DDos的数据包就已经下载到了你的Kali上下面,进入你所下载的DDos文件夹,输入命令(注意大小写):cdDDos-Attack然后设置ddos-attack.py设置

  • Redis客户端API

    Redis客户端APIRedis客户端APIclientsetNamexx为客户端设置名字clientlist列出与Redis服务端相连的所有客户端信息。info可查看Redis的所有信息。infomemory只查看Redis内存使用情况。infoclients记录了已连接客户端的信息限制redis连接maxclients、timeoutconfigsettimeout

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号