WEB开发网
开发学院数据库MySQL MySQL高级特性之集合函数 阅读

MySQL高级特性之集合函数

 2009-01-06 11:15:31 来源:WEB开发网   
核心提示: SELECT AVG(vote) FROM opinion这个SELECT语句的返回值代表用户对你站点的平均喜欢程度,函数AVG()只能对数值型字段使用,MySQL高级特性之集合函数(3),这个函数在计算平均值时也忽略空值,再给出一个实际例子,但你也可以对其它数值型字段使用函数SUM(),

SELECT AVG(vote) FROM opinion

这个SELECT语句的返回值代表用户对你站点的平均喜欢程度。函数AVG()只能对数值型字段使用。这个函数在计算平均值时也忽略空值。

再给出一个实际例子,例如我们要计算pet表中每种动物年龄的平均值,那么使用AVG()函数和GROUP BY子句:

mysql> SELECT species,AVG(CURDATE()-birth) FROM pet GROUP BY species;

返回的结果为:

  +---------+----------------------+
  | species | AVG(CURDATE()-birth) |
  +---------+----------------------+
  | bird | 34160 |
  | cat | 74959.5 |
  | dog | 112829.66666667 |
  | hamster | 19890 |
  | snake | 49791 |
  +---------+----------------------+

计算字段值的和

假设你的站点被用来出售某种商品,已经运行了两个月,是该计算赚了多少钱的时候了。假设有一个名为orders的表用来记录所有访问者的定购信息。要计算所有定购量的总和,你可以使用函数SUM():

SELECT SUM(purchase_amount) FROM orders

函数SUM()的返回值代表字段purchase_amount中所有值的总和。字段purchase_amount的数据类型也许是DECIMAL类型,但你也可以对其它数值型字段使用函数SUM()。

用一个不太恰当的例子说明,我们计算pet表中同种宠物的年龄的总和:

mysql> SELECT species,SUM(CURDATE()-birth) FROM pet GROUP BY species;

你可以查看结果,与前一个例子对照:

  +---------+----------------------+
  | species | SUM(CURDATE()-birth) |
  +---------+----------------------+
  | bird | 68320 |
  | cat | 149919 |
  | dog | 338489 |
  | hamster | 19890 |
  | snake | 49791 |
  +---------+----------------------+

上一页  1 2 3 4  下一页

Tags:MySQL 高级 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接