在mysql中有两个函数count()与sum()函数,有很多朋友搞不清楚,从英文的角度我们可以分析出来count是统计个数,sum是求各并且只能是数值型哦
要求:查询出2门及2门以上不及格者的平均成绩。
经常会用两种查询语句有两种:
代码如下 复制代码
1. select name,sum(score =2;
再看
算你拥有动物的总数目与“在pet表中有多少行?”是同样的问题,因为每个宠物有一个记录。count(*)函数计算行数,所以计算动物数目的查询应为:
代码如下 复制代码
mysql> select count(*) from pet;
+----------+
| count(*) |
+----------+
| 9 |
+----------+
在前面,你检索了拥有宠物的人的名字。如果你想要知道每个主人有多少宠物,你可以使用count( )函数:
代码如下 复制代码
mysql> select owner, count(*) from pet group by owner;
+--------+----------+
| owner | count(*) |
+--------+----------+
| benny | 2 |
| diane | 2 |
| gwen | 3 |
| harold | 2 |
+--------+----------+
注 意,使用group by对每个owner的所有记录分组,没有它,你会得到错误消息:
代码如下 复制代码
mysql> select owner, count(*) from pet;
error 1140 (42000): mixing of group columns (min(),max(),count(),...)
with no group columns is illegal if there is no group by clause
count( )和group by以各种方式分类你的数据。下列例子显示出进行动物普查操作的不同方式。
每种动物的数量:
代码如下 复制代码
mysql> select species, count(*) from pet group by species;
+---------+----------+
| species | count(*) |
+---------+----------+
| bird | 2 |
| cat | 2 |
| dog | 3 |
| hamster | 1 |
| snake | 1 |
+---------+----------+
每种性别的动物数量:
代码如下 复制代码
mysql> select sex, count(*) from pet group by sex;
+------+----------+
| sex | count(*) |
+------+----------+
| null | 1 |
| f | 4 |
| m | 4 |
+------+----------+
(在这个输 出中,null表示“未知性别”。)
按种类和性别组合的动物数量:
代码如下 复制代码
mysql> select species, sex, count(*) from pet group by species, sex;
+---------+------+----------+
| species | sex | count(*) |
+---------+------+----------+
| bird | null | 1 |
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
若 使用count( ),你不必检索整个表。例如, 前面的查询,当只对狗和猫进行时,应为:
代码如下 复制代码
mysql> select species, sex, count(*) from pet
-> where species = 'dog' or species = 'cat'
-> group by species, sex;
+---------+------+----------+
| species | sex | count(*) |
+---------+------+----------+
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
+---------+------+----------+
或, 如果你仅需要知道已知性别的按性别的动物数目:
代码如下 复制代码
mysql> select species, sex, count(*) from pet
-> where sex is not null
-> group by species, sex;
+---------+------+----------+
| species | sex | count(*) |
+---------+------+----------+
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
mysql sum
代码如下 复制代码
2.select name ,count((score=2;