00:00
就这节课啊,咱开始讲这个统计分析模块,首先呢,给大家先来分析一下咱们这个统计分析模块,一个需求,就是咱要做什么功能,包括里边具体该怎么去做,首先先分析需求。我写到这个位置。那这个需求我们要做什么呢?给大家来说明,就是在我们的在线教育这个项目中,当你在网站运行过程中会产生很多的数据,所以咱们可以针对这些数据做一个具体分析,然后用一种图表情做展现,利于我们网站的后期的运营等等这一系列事情,那咱下面来做分析。而在我们里边很多数据,我们在这个功能中就以一个数据为例,其他数据跟这应该都一样的,比如现在我们想做这么一个功能。给大家写一下啊,我们做什么功能呢?比如现在我们想统计就是我这个在线教育这个项目中。
01:00
每一天有多少这个?注册人数,现在我们就想做这个事情,就统计每天有多少注册人数,然后统计之后把这个注册人数,咱可以用个图表形式做个展现。我写第二个啊,就是把统计出来的那个注册人数,使用一个图表形式给它展现出来。或者说显示出来,这个是我们要做一功能。而这功能具体该怎么去做,给大家来做个详细的说明啊。先知道一个总体介绍,现在我想统计每天有多少注册人数,比如说我们统计3月1号,假如说有十个人,3月2号,比如有100个人,3月3号,假如说有一个人,3月4号,比如说没有人等等,把这些统计出来,然后把这些数据用个图表形成展现图表,不管是柱状图、饼状图还是折线图,然后给它做个显示。这是一个总体的介绍,那这功能我们要具体该怎么去做,给大家做个详细的说明啊,那我来说一下哈,咱往下来看。
02:08
这是第一部分啊,总体介绍。然后咱们看细节啊,那我们要怎么去做呢?给各位强调啊,就是现在呢,我们要做这个统计分析,咱们首先要做第一件事情,也就是他的一些准备工作啊,咱要做一些准备,那做什么准备呢?首先第一件事情咱就需要创建这么一张表。这张表用于存储咱们那个统计的数据,这是咱们要做的第一件事情,创建表存储统计数据,这个表可以称为叫统计数据表,那表怎么来做,给大家介绍一下啊,在我这个资料里边给各位提供了一个数据库脚本,在脚本中有这张表叫鼓励static,这是一张统计数据表,所以咱们按照脚本把这表我们先做个创建。这是我们做的第一个准备工作。
03:02
然后把这个啊给大家接过来,然后这个表我这里边已经提前创建好了,就是这张表咱看一下啊,这个叫c daily,就是每个日期中那个统计数据表,然后这个表打开,咱看一下里边有哪些字段啊,咱们一个来看啊,来看里边的字段。首先各位看啊,在这里边呢,我们有一个第一个ID主件,第二个是统计日期,比如说你是2020年3月1号,或者2019年3月1号,这叫统一日期,然后下面所以统计那些数据,比如说在3月1号这一天,我们有多少注册人数,多少登录人数,多少视频播放数,多少课程数,包括创建那些时间,我们功能中我就以注册为例,其他的都差不多啊,再以这个为例,把这功能做到。这张表,然后在表中数据是什么样的,咱们大概看一下啊,比如说我们来写一个具体例子。
04:00
这个我先删掉啊,就保留一个,大家看这数据啊,大家看这数据什么样的。第一个值是个ID,然后这个第二个值是什么?是一个日期,就是2020年1月1号,后面是它据那个统计出的值,比如我现在写几个值,就是在2020年1月1号,我们有十个注册人数,有100多个登录人数等等,这是我们要存的一条数据,这张表就是存我们的统计数据啊,各位把这知道,比如现在你可能有别的日期,假如说我有一个2020年1月一,1月2号又有其他的项目的值,然后最后这些值咱会把它用图表形式做个展现,在这个第一件事情要这张表表中存数据,然后它的数据就是我们的。这种效果把这个啊,我大概截一下啊,就是这么一些基本的值。在这个各位先给他先准备好,然后这个准备好之后,咱下面就要把功能我们要具体做一下,那功能要怎么来做,咱下面具体看这个功能的部分啊,现在只是把表创建,那因为我们现在我想做这个功能,我就想统计啊,每一天的注册人数,就想把这个统计出来,那咱就看这个功能咱该怎么去做。
05:18
啊,往下来看啊,往下来分析,现在我想要。统计就是比如说这个某一天的这个注册人数啊,把这个统计出来,那这个然后怎么去做呢?咱看一下啊,这工作怎么实现。咱看表,因为咱们现在表中有一张表叫u center member,这张表是不是一个用户表,或者说是一张会员表,那咱们要统计某一天的这个注册人数,是不是要查这张表,就查这个u center member表才能查出来,那比如现在咱们把表打开,我们来先写段语句,咱先做个测试。啊,为了明显。
06:00
我在里边啊,把这值稍微改一下啊,比如改成这个3月9号啊,这是1月1号,比如现在我想写这么一个语句啊,咱们一起来考虑该怎么写啊,我想查询这个,比如说查询2020年。3月9日这一天有多少?这个注册人数想把这个做个查询,那大家考虑啊,你说这个语句咱要怎么写。给咱们分享啊,每次我注册在表中是不是都有一条记录,那我想统计3月9号,咱根据3月9号这个日期做个统计,是不是可以就是查出3月9号这个日期里边有多少条记录,是不是就是它的注册人数这个啊,是咱要写这么一个功能啊,比如现在我们就以这为例,那咱看一下这circle语句大概怎么去写啊,我这里来写一下啊。语句嘛,肯定是查询,咱来一个。Select,他要查询就是你这个日期中有多少条记录,咱要做一个统计这么一个查询,所以咱要用到一个就是SQ语中一个叫聚集函数,或者说叫聚合函数,有这个函数。
07:12
我说各位是否记得啊,叫这个count count就表示查询你的记录数,咱用这个函数,然后在count里边我们可以加个一,或者加个星号,或者说加你的字段都可以啊,我就加个星号,再来个from,加上咱这表叫这个U3。Member这张表,然后加完表之后,咱有条件就根据这个日期做查询,那条件我们加的肯定是一个是不是一个where啊,然后日期,比如说给它起个别名啊,我们叫这个UC,然后日期就是UC点这个p MT create,因为你每次添加这个人数是不是有一个创建时间啊,咱根据时间来做个查询,那时间按照我的需求,我们查这个2020年3月9号这一天有多少注册人数。
08:04
按照我的需求语句是不是这么一个语句,但是你注意啊,如果说我这个语句啊得以执行,咱看他会查出什么。大家看什么?是不是零啊,这雨这么查,你发现没有查出数据吧,而我现在表里边3月9号是不是有两条记录,但这么写没有查出来,为什么没有查出来?各位仔细看啊。我存的这个日期是不是年月日小时分秒这个结构,但单查的话,我查的时候只有年月日,因为我想查日期,不想就到时间,那这个大家说该怎么做,我怎么只查到日期,就是把这两条记录都查出来,因为这两条记录都是3月9号,但是我不想关注这个小时分秒,只想根据日期查。那大家说这可怎么做?这怎么实现?给各位来说明啊,这个方式呢,其实有多种方式,首先有第一种方式,但这种方式咱一般不建议这么用啊,我也说一下啊,怎么做呢,有个关键字,咱应该见过这个关键字。
09:08
Like。Like是模偶查询啊,咱加上模偶查询,然后加个百分号,这么一个规则,这么做首应该能查出来,但是咱现在肯定不见这么写,因为like呢,一般不用在日期中,它用在比如咱根据名称做more查询,根据昵称做查询,一般用like,但是日期咱不见这么做,就是咱们现在用like不合适,那咱用什么呢?给各位来特别说一下啊。就是在我们这个买circle,或者说我们这个circle语句中有一个函数,这函数就能把效果做到,那这函数是什么?我先写一下,然后咱们看完效果,咱们再来分析这函数是做什么事情的,通过效果再看功能,这函数很好记,就这个名字。大家看叫什么,就叫做date,然后咱们把这个日期放到date函数里边,这样的话我们再做个查询,咱看结果啊,多了一个date函数,然后再一执行,大家看。
10:08
返回几?是不是二啊,比如我们目前在这里边在九号有两条记录啊,所以咱们这么写,这里边有一个函数叫date函数,那这函数是干什么的,咱通过这里边它的作用各位应该能看到啊,它的作用是什么呢?就是获取你这个。就是时间格式里边那个日期的部分。啊,日期的部分或者写的完整点啊,后期你的日期时间格式里边那个日期部分,也就是把这个年月日部分给它取到,因为这个小时分秒是不是叫时间呀,年月日是不叫日期呀,他把日期部分取到,然后做个比较,所以咱们一查就可以查到啊这个啊是咱们写的语句,一会儿咱在项目中也会写这个语句,所以这个啊来做了一个分析。也就是现在我们要统计或者查询某一天的这个注册人数,那怎么做呢?咱要查这个U3NUMBER表,然后在里边我们想语句的话,就写这个语句,根据你的日期做查询,因为日期呢,它里边我们存的是年月、日、小时、分秒,咱要只取日期部分加一个date函数,把这做到啊,这是我们要做的事情。
11:22
也就是查询这张表。小区位置啊,查询咱那个。用户表得到我们需要的这个数据。所以这个啊,我们做了一个分析,但是现在呢,我们要做的叫统计分析功能,而咱要怎么做呢?给大家强调啊,就是现在呢,我们要把通过这张表查出数据,最终放到咱这个统计数据表中,就是把数据存到这里边,比如我现在查的是3月9号,那我怎么做,我在这张表中就是存一个日期是3月9号,然后后面是你查数据,比如这个注册人数是二,包括下值,包含有你的时间等等,咱现在要这么来做啊,这是我们要做的过程。
12:04
那给大家啊,在下面咱继续来写啊。就是现在我们。最终要实现的过程,应该是我们刚才说的这个样子。什么样子呢,比如说你现在。写到这个位置啊,给大家画一下啊,咱就现在在分析它的流程,我们做法就是。把你从这个用户表里边查询出来那个注册人数啊,比如说注册人数两个人,然后把人数怎么样给他,就存储到我们那个统计分析那个数据表中。啊,就是存储到统计分析。这个数据表里边,把这个人数给它存储到这张表中,所以咱们要做这个事情,把u center member中查的数据存储到你这个鼓励cid这个表里边去,这个啊是咱们要就是实验过程,而这个过程是咱们一会儿做的,我们统计分析中的第一个功能,它就叫做生成。
13:08
统计数据啊,所以这个啊,咱们把需求做说明,也就是说啊,再重复一遍,咱一块儿做的工作就是在我这个u center member表中,咱查询某一天的注册人数,比如说查出两个人,然后查出之后怎么做,把你查出的两个人再存到我们的统计这个分析表中,这是我们要实验流程,而这过程就叫做生成统计数据,也就是在咱这个三这个表中,就存你查询出来那个统计之后数据,然后最后咱们做显示,用这个表上数据做个显示。这个啊,就是第一个需求叫生成统计数据,咱实际中一般也都是这么来做到的啊,就把这个我们最终做个实验,第一个啊,咱们做这个分析生成统计数据。然后这个做到之后呢,咱们在需求中还有第二个需求。
14:02
第二个需求是什么呢?它就叫做图表形式。在显示数据。就这里边啊图表。显示出去,那这个咱要做什么呢?也就是说啊,咱就把我们那个统计。把统计分析表里边。我们存储的那些数据使用图表显示出来就可以了。啊,使用图表显示,比如说我刚才存了一个,就是这个3月9号,然后里边有这个纸啊,假如咱们存了这个纸,这是存到里面的数据,那这里边可能还有别的纸,比如说我现在手动再加个纸,然后这个ID就是一啊,比如这个日期是2020年这个。3月1号啊,假如说是里边的这些值。咱都写这数据,然后这是它的日期,那这个时候大家看啊,目前在我表中是不是两条记录,那我把这表中存储的两条记录,咱用个图表形式就显示出来,咱可以用柱状图,折线图或者饼状图,一会咱用一种图表形式做个展现就可以了,这是咱们做统计分析一个基本需求,主要咱做的是两个功能,第一个功能叫生成统计数据,就是把U三角中查的数据存到统计表中,第二个叫图标显示,把你传的数据用个图表显示可以了,这个啊咱们。
15:28
做了一个分析啊,所以各位把这个给他要知道啊,就是你知道我们目前要做什么事情,两功能生成数据图标显示。这个我们就说完了啊,关于咱们需求的分析。然后这个说完之后呢,咱下面啊,就开始把这功能我们做个实现,咱来实现具体功能,那功能怎么做,咱们看一下我们刚才这个需求啊,因为咱们要统计某一天的注册人数,也是你要查这个U3表,所以我怎么做呢?我就在这个U3这个模块中写咱们查询的那个接口,在这里边写接口,然后咱们还怎么做,我在建个模块叫统计分析模块,通过统计分析模块调U3的模块得到数据,然后进行存储啊自然是这么一种实验过程。
16:19
那给大家啊,在图上,我把这过程我也最终画一下,然后咱们最后再写我们的代码。就是写代码之前呢,咱们把流程包括怎么做,先给他想清楚,分析清楚,最后再用代码来实现,其实各位要明确一点啊,在实际的公司里边写代码,应该说他占的这种时间肯定不是最多的。真正占用时间最多的在什么地方?就是咱们分析需求,讨论需求,讨论需求该怎么实现,这个过程在你项目开发中占的比重是最多的,写代码并不是最多的这么一个时间啊,那咱们就写一下啊,我们怎么做啊。就是一会儿呢,我们建两个模块。
17:02
就是两个模块啊,第一个模块还是咱们之前那个u center模块,写一下就是service u center。这是一个模块,然后在U3模块中怎么做呢?咱们就是创建一个接口,查询某一天的注册人数啊,就是这里边我们写接口,把这个查出来,然后这个写完之后,咱们再创建另外一个模块,这个模块,这个模块名字我们叫service,这个比如叫那个sta,就是S统计模块,然后咱怎么做,通过我们的S模块去调用咱的U3的模块,把这里边的注册人数给他得到,然后得到之后怎么做,存到咱那个统计表中。所以在里边做这个事情写一下啊,调用咱这个。Service u center。这个接口,然后得到注册人数,最终添加到咱的统计表里面去啊,这个啊是咱们要实现的这么一个过程,所以这个啊,咱们一来实现就通过一个模块远程调用另一个模块把数据得到,然后最终调到表中,加到表中之后咱再用图表形式把它展示出来。
18:19
这个啊,咱们就最终分析出来了啊。这张图我先保存一下啊。咱们的第三个。统计分析模块需求的这么一个描述。我们就介绍完了啊。
我来说两句