用户登录

MySQL 提供了一些函数可以去统计,求合,求平均,找出最大值,最小值等等。这个视频我们学习几个函数。

比如我们要统计一下结果的数量 .. . 可以使用 count 函数 ... 比如我们要统计一下 review 这个表里,一共有多少条记录 ...

COUNT

SELECT 选择的是 rid ,我们可以统计一下 rid 这栏的数量,在它的前面加上一个 COUNT,然后把要统计的栏放在一组括号里。FROM ,来自 review 这个表。回车 ... 这条语句的意思就是去统计一下 review 这个表里,一共有多少个记录。

SELECT COUNT(rid) FROM review;

GROUP BY

如果你想找出每一部电影的评论的数量,我们可以使用一个 GROUP BY ,去分一下组。可以按照评论这个表里面的 fid ,也就是电影的 id 来分组。

SELECT fid,电影的 id 号, COUNT(rid) ,统计的仍然是评论的 id,FROM 来自 review 这个表,最后再加上一个 GROUP BY ... 按照什么东西来分组,我们要按 fid 进行分组。回车 ... 给出的结果就是对应的电影的 id ,还有这部电影的所有的评论数量。

SELECT fid, COUNT(rid) FROM review GROUP BY fid;

AVG

下面,我们再试一下求平均的函数,用的是 AVG 这个函数。我们可以算一下每部电影的平均分是多少。

SELECT fid 电影的 id 号,然后用 AVG 函数去求平均数,要求平均数的栏是 review_rate ,用户给电影的评分,FROM 来自 review 这个表,最后同样需要使用一个 GROUP BY ,去按照 fid 来分一下组。回车 ... 结果就是每部电影对应的平均分。

SELECT fid, AVG(review_rate) FROM review GROUP BY fid;

关联

配合关联,我们可以在这个结果里面显示出来自电影这个表里的电影的名称。

SELECT 选择来自 review 表里的 fid ,注意这里要在栏的名称的前面加上表的名称,这样可以防止冲突,然后是来自 film 表里的 film_name,接着是评论表里的电影的平均分 ,用一个 AVG 函数去计算出平均分,FROM 来自 reivew 还有 film 表,用 WHERE 再设置一下条件,设置的条件是 review 表里的 fid 等于 film 表里的 fid 。最后再用一个 GROUP BY 去分一下组。回车 ... 显示的出来就是电影的 id ,对应的名称,还有电影的平均分。

SELECT review.film_id, film.film_name, AVG(review_rate) FROM review, film WHERE review.film_id = film.film_id GROUP BY review.film_id;

统计,平均,分组《 MySQL 基础 》

统计

13799
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点