MySQL的count计数条件问题
简介某些时候我们需要通过在使用count的过程中,只需要计算某些条件下的记录数,这时候我们就需要使用到Count条件计数问题。
数据如下表:如果需要统计等级分别为1,2,3的总人数,那么我们如何实现呢?
| id | name | level |
|---|---|---|
| 1 | 张三 | 1 |
| 2 | 李四 | 2 |
| 3 | 王五 | 3 |
| 4 | 张二娃子 | 1 |
| 5 | 李旦 | 1 |
| 6 | 狗娃子 | 2 |
1、方式一
mysql> select count(level = 1 or null) as '等级1',count(level = 2 or null) as '等级2',count(level = 3 or null) as '等级3' from users;
+-------+-------+-------+
| 等级1 | 等级2 | 等级3 |
+-------+-------+-------+
| 3 | 2 | 1 |
+-------+-------+-------+
1 row in set (0.05 sec)
上面的SQL一定要注意,必须加上or null,为什么呢?
count统计的是不为null的数;但是false不为null,所以会被统计上;
如果要让表达式为null,所以就需要or null表达式,false or null后就是null,所以就不会被统计上
2、方式二
mysql> select count(case when level=1 then level end) as '等级1',count(case when level=2 then level end) as '等级2',count(case when level=3 then level end) as '等级3' from users;
+-------+-------+-------+
| 等级1 | 等级2 | 等级3 |
+-------+-------+-------+
| 3 | 2 | 1 |
+-------+-------+-------+
1 row in set (0.04 sec)
我们在工作或是生活中,有时会需要制作一些请柬、奖状、或者桌牌等,这些东西都有一个共性,那就是除了每个人的名字不一样之外,其他大部分内容都是一样的,那么我们可以如何快速地批量制作呢?很简单,用Word的邮件合并功能就能做到!
最近公司服务器出现几台服务器的CPU一直在100%的状态,肯定是中了木马或者被攻击,本文主要记录下如何处理该木马病毒。
很多时候我们只希望我们的应用只能启动一次,本文主要介绍下Flutter的windows桌面端如何实现只启动一次的方法。
Mysql in 多个字段的用法
MongoDB聚合查询之分段分组查询统计
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题