首页 >

mysql count不能统计0的结果 |mysql text 查询速度

mysql call setup,mysql最大的金额,mysql建立表基本代码,mysql 利用外检查询,mysql server 查看ip,mysql text 查询速度mysql count不能统计0的结果 |mysql text 查询速度
例如,大家有一个students表,其中有3个学生的成绩如下:
+----+-------+
| id | score |
+----+-------+
| 1  | 85    |
| 2  | 90    |
| 3  | NULL  |
+----+-------+
如果大家想统计成绩为80分以上的学生人数,可以使用下列的SQL语句:
SELECT COUNT(*) FROM students WHERE score >= 80;
这个查询的结果是2,表示两个学生成绩大于等于80分。但是如果大家想统计成绩在70分到80分之间的学生人数,可以使用下列的SQL语句:
SELECT COUNT(*) FROM students WHERE score >= 70 AND score< 80;
这个查询的结果却是0,而不是大家期望的1。这是为什么呢?

这是因为count函数并不会统计NULL值,而大家的第三个学生的成绩是NULL。这导致该行无法被统计在内,结果就变成了0。

解决这个问题的方法有多种,一种简单的方法是使用count函数的另一种形式:count(*)或count(1)。这种形式不关心行中的任何特定列,只要行存在,就会将其计算在内。代码如下:

SELECT COUNT(*) FROM students WHERE score >= 70 AND score= 70 AND score< 80;

这两种SQL语句都会得到正确的结果,即1。大家可以根据自己的需要选择使用哪种形式。


mysql count不能统计0的结果 |mysql text 查询速度
  • mysql 按位或 |用mysql做一个系统
  • mysql 按位或 |用mysql做一个系统 | mysql 按位或 |用mysql做一个系统 ...

    mysql count不能统计0的结果 |mysql text 查询速度
  • MySQL80初始化密码忘记怎么办?这个方法帮你解决 |php 安全mysql
  • MySQL80初始化密码忘记怎么办?这个方法帮你解决 |php 安全mysql | MySQL80初始化密码忘记怎么办?这个方法帮你解决 |php 安全mysql ...

    mysql count不能统计0的结果 |mysql text 查询速度
  • mysql 主键长度 |mysql 提交怎么不生效
  • mysql 主键长度 |mysql 提交怎么不生效 | mysql 主键长度 |mysql 提交怎么不生效 ...