mysql中最大值和最小值以及总和查询与计数查询的实例详解

1、最大值查询:

mysql> select max(score) from 4a;  +------------+  | max(score) |  +------------+  |         93 |  +------------+  1 row in set (0.06 sec)

2、最小值查询:

mysql> select max(4a.score),min(4inall.score) from 4a,4inall;  +---------------+-------------------+  | max(4a.score) | min(4inall.score) |  +---------------+-------------------+  |            93 |                35 |  +---------------+-------------------+  1 row in set (0.08 sec)

3、总和查询与计数查询:

这个是原表,接下来的语句都是根据这个表来写的。

mysql> select * from 4a;  +--------+------+--------+------+--------+------+------+-------+  | sname  | sage | tname  | t    | cname  | s    | c    | score |  +--------+------+--------+------+--------+------+------+-------+  | 刘一   |   18 | 叶平   |    1 | 语文   |    1 |    1 |    56 |  | 刘一   |   18 | 贺高   |    2 | 数学   |    1 |    2 |    78 |  | 刘一   |   18 | 杨艳   |    3 | 英语   |    1 |    3 |    67 |  | 刘一   |   18 | 周磊   |    4 | 物理   |    1 |    4 |    58 |  | 钱二   |   19 | 叶平   |    1 | 语文   |    2 |    1 |    79 |  | 钱二   |   19 | 贺高   |    2 | 数学   |    2 |    2 |    81 |  | 钱二   |   19 | 杨艳   |    3 | 英语   |    2 |    3 |    92 |  | 钱二   |   19 | 周磊   |    4 | 物理   |    2 |    4 |    68 |  | 张三   |   17 | 叶平   |    1 | 语文   |    3 |    1 |    91 |  | 张三   |   17 | 贺高   |    2 | 数学   |    3 |    2 |    47 |  | 张三   |   17 | 杨艳   |    3 | 英语   |    3 |    3 |    88 |  | 张三   |   17 | 周磊   |    4 | 物理   |    3 |    4 |    56 |  | 李四   |   18 | 贺高   |    2 | 数学   |    4 |    2 |    88 |  | 李四   |   18 | 杨艳   |    3 | 英语   |    4 |    3 |    90 |  | 李四   |   18 | 周磊   |    4 | 物理   |    4 |    4 |    93 |  | 王五   |   17 | 叶平   |    1 | 语文   |    5 |    1 |    46 |  | 王五   |   17 | 杨艳   |    3 | 英语   |    5 |    3 |    78 |  | 王五   |   17 | 周磊   |    4 | 物理   |    5 |    4 |    53 |  | 赵六   |   19 | 叶平   |    1 | 语文   |    6 |    1 |    35 |  | 赵六   |   19 | 贺高   |    2 | 数学   |    6 |    2 |    68 |  | 赵六   |   19 | 周磊   |    4 | 物理   |    6 |    4 |    71 |  | NULL   | NULL | NULL   | NULL | NULL   | NULL | NULL |    93 |  +--------+------+--------+------+--------+------+------+-------+  22 rows in set (0.00 sec)
mysql> select sum(sname) from 4a;  +------------+  | sum(sname) |  +------------+  |          0 |  +------------+  1 row in set, 21 warnings (0.00 sec)

我们可以看到尽管SNAME有很多记录,但是如果用SUM去查询它的总和,虽然语法上,并没有错误,但是结果显然是”错误的”。

mysql> select count(sname) from 4a;  +--------------+  | count(sname) |  +--------------+  |           21 |  +--------------+  1 row in set (0.00 sec)

而换用count来对SNAME来进行计数则没有问题。当然,NULL记录是不会被当作一条可计数的记录的。

mysql> select count(score) from 4a;  +--------------+  | count(score) |  +--------------+  |           22 |  +--------------+  1 row in set (0.00 sec)

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享