java构建学生管理系统(三)

对于已经定好的类图和需求分析,我们只需要动手干就行了。

在动手的过程中遇到这样的一个情况,就是完成教师类的功能时,有一个对全班成绩的排名,就是及时的显示出来。在完成这个功能时,我们知道我们数据库中的数据都是按照学号顺序排列的,所以输出的过程也会是学号顺序。

为完成这个我们就要用到mysql的聚集函数对原数据库内的数据进行输出。聚集函数的使用规则如下。

1、聚集函数

聚集函数是运行在行组上,计算和返回单个值的函数。

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

(1)、AVG()函数

可以返回所有列的平均值,也可以返回特定列的平均值。
  1.  
    SELECT AVG(prd_price) AS avg_price FROM products
  2.  
    Where vend_id=1003;

将过滤出vend_id=1003的产品,avg是这些产品的平均值.

(2)、COUNT()函数

COUNT(*)对表中行的数目进行计数,不管表列中包含的是空(NULL)还是非空值;
COUNT(column)对特定列中有值的行进行计算,忽略NULL值。

(3)、MAX()函数

MAX()返回指定列的最大值,要求指定列名,忽略NULL值。
在MySQL中,MAX()函数可以对非数据列使用,在用于文本数据时,如果数据按相应的列排序,MAX()返回最后一行。

(4)、MIN()函数

MIN()返回指定列的最小值,要求指定列名,忽略NULL值。
在MySQL中,MIN()函数可以对非数据列使用,在用于文本数据时,如果数据按相应的列排序,MIN()返回最前面的一行。

(5)、SUM()函数

用来返回指定列的和(总计),忽略NULL值的行。
  1.  SELECT SUM(num) AS prod_sum---返回指定订单号中的商品数量
  2.  FROM products
  3.  Where order_id=123456;
SUM()也可以合计计算值。
  1.  SELECT SUM(item_price*num) AS totol_price FROM order_items--返回订单中所有商品价格和。
  2.  Where order_id=123456;

2、聚集不同值

DISTINCT关键字
如下面的SQL将返回vend_id=1003的不同价格商品的平均值
  1.  SELECT AVG(DISTINCT prd_price) AS avg_price FROM products
  2.  Where vend_id=1003;

3、组合聚集函数

聚集函数可以组合使用
    1. SELECT count(*) AS num,
    2. MIN(prod_price) AS price_min,
    3. MAX(prod_price) AS price_max,
    4.  AVG(prod_price) AS price_avg
    5.  FROM products;
posted @ 2018-07-06 15:38  诗酒-趁年华  阅读(124)  评论(0编辑  收藏  举报