SQL语句对MySQL数据库做简单统计计算.
COUNT([DISTINCT|ALL] *) 统计元组个数 COUNT([DISTINCT|ALL] <列名>) 统计一列中值的个数 SUM([DISTINCT|ALL] <列名>) 计算一列值的总和(此列必须是数值型) AVG([DISTINCT|ALL] <列名>) 计算一列值的平均值(此列必须是数值型)
MAX([DISTINCT|ALL] <列名>) 求一列值中的最大值 MIN([DISTINCT|ALL] <列名>) 求一列值中的最小值 如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值。如果不指定DISTINCT短语或指定ALL短语(ALL为缺省值),则表示不取消重复值。 例 查询学生总人数 SELECT COUNT(*) FROM Student;
例 查询选修了课程的学生人数 SELECT COUNT(DISTINCT Sno) FROM SC;
学生每选修一门课,在SC中都有一条相应的记录,而一个学生一般都要选修多门课程,为避免重复计算学生人数,必须在COUNT函数中用DISTINCT短语。 例 计算1号课程的学生平均成绩 SELECT AVG(Grade) FROM SC WHERE Cno=’1′;
例 查询选修1号课程的学生最高分数 SELECT MAX(Grade) FROM SC WHERE Cno=’1′;
例 查询选修1号课程的学生最高分、最低分及平均分 SELECT MAX(Grade),MIN(Grade),AVG(Grade) FROM SC WHERE Cno=’1′;