mysql笔记:5个集函数使用

让人想犯罪 __ 提交于 2020-03-11 12:50:57

先放出4个练习题2333

 

 

这些问题中我们可以使用集函数也就是相关的统计类函数

 

导入:

 

 

    • 如果我们想知道总用户数怎么办?
    • 查询谁是数据表里的首富怎么办?
    • 如果我们想知道用户的平均金额怎么办?
    • 如果我们想知道所有用户的总金额怎么办?
      统计类函数最常用的我们有5个:

 

 

1.查询各门课程的选课人数

 

 

/*查询各门课程的选课人数*/
select cno,count(*)
from sc
group by cno;

select cno,count(sno)
from sc
group by cno;

select cno,count(all cno)/*dbms默认情况下不去重复2333*/
from sc
group by cno;

 

  

2.查询选修了2门课程以上的学生的学号

 

 

 

 

3.

 

 

 

4.

 

 

select sno,count(*) as 课程数
from sc
where  sno between '1' and '4'
group by sno
having count(*)>=2
order by count(*) desc; 
/*单表查询,以上*/

 

  

 

 

在这儿又有一个总结呐:

...

分组 group by

结果再过滤having

 

整体使用SQL,

我们现在将语句进行整合后,配合使用一次。整体的SQL语句配合使用的语法结构如下:

 

最终的语法总结如下:

 

 

 

 

5.

 

统计有学生选修的课程门数

 

可能就是1个课程被选多次,所以我们要加一个去重关键字distinct

 

相关资料:

查询单个字段不重复记录 distinct

 

 

 

 经过对比,distinct的作用很显然的看出来喽,2333!

 

6.

求选修1号课程的学生的平均年龄

这道题需要认认真真的细品一下和琢磨哦!我第一次做的时候忘记写这个条件了:

 

 

 这就是选修所自然对应的等值连接,也就是一定程度下的自然连接!!!!!!!!!!

要是不加的话,就成为笛卡尔积了

 

 

 

 

 

 

 

 

 

 

 

7.留下一道思考题:

 

 

 

后续再来研究这道题,溜溜溜啦!!!!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!