美文网首页
chapter12:汇总数据

chapter12:汇总数据

作者: WeirdoSu | 来源:发表于2017-12-19 11:23 被阅读0次

聚集函数

常常需要汇总数据而不用把它们实际检索出来。

  • 确定表中行数;
  • 获得表中行组的和;
  • 找出表列的最大值、最小值和平均值
函数 说明
AVG() 返回某列的平均值
COUNT() 返回某列的行数
MAX() 某列的最大值
MIN() 某列的最小值
SUM() 某列值之和

聚集函数(aggregate function):运行在行组上,计算和返回单个值的函数。

函数 说明
AVG() 返回某列的平均值
COUNT() 返回某列的行数
MAX() 某列的最大值
MIN() 某列的最小值
SUM() 某列值之和

例:

AVG()

SELECT AVG(prod_price) AS avg_price
FROM products
WHERE vend_id = 1003;

COUNT():注意NULL值,如果指定列名则空的行被忽略,如果是*则不忽略。

SELECT COUNT(*) AS num_cust
FROM customers;

SELECT COUNT(cust_email) AS num_cust
FROM customers;

其他函数用法相同,注意MAX()和MIN()都忽略NULL值,SUM()可以汇总计算值。

SELECT SUM(item_price*quantity) AS total_price
FROM orderitems
WHERE order_num = 20005;

聚集不同值

聚集函数的DISTINCT的使用只在MySQL5之后的版本可用。

  • 对所有的行执行计算,指定ALL参数,默认;
  • 只包含不同的值,指定DISTINCT参数。
SELECT AVG(DISTINCT prod_price) AS avg_price
FROM products
WHERE vend_id = 1003;

组合聚合函数

SELECT COUNT(*) AS num_items,
       MIN(prod_price) AS price_min,
       MAX(prod_price) AS price_max,
       AVG(prod_price) AS price_avg
FROM products;

相关文章

网友评论

      本文标题:chapter12:汇总数据

      本文链接:https://www.haomeiwen.com/subject/ycsbwxtx.html