您好,欢迎访问一九零五行业门户网

Mysql下count()和sum()区别

在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;
其它类似信息

推荐信息