一、每日学习记录
学生知识水平表(userknowledge):
字段 | 类型 | 属性 | 空 | 注释 |
---|---|---|---|---|
Id | int(11) | unsigned | 否 | 主键 |
UserId | varchar(255) | 否 | 用户ID | |
KnowledgeId | varchar(255) | 否 | 知识编号 | |
LearnResourceTime | int(11) | 否 | 浏览当前知识的资源次数 | |
TestCount | int(11) | 否 | 参与该知识点的测试的个数 | |
TestScore | double | 否 | 参与该知识点的测试成绩:实际分值/参考分值 | |
Date | date | 否 | 记录生成日期 |
- 每个字段的含义为:ID(序号,自增的),UserId(用户ID,唯一确定一个用户),KnowledgeId(知识ID,唯一确定一个知识),LearnResourceTime(浏览当前知识的资源次数),TestCount(参与该知识点的测试的个数),TestScore(参与该知识点的测试成绩:实际分值/参考分值)(后边会解释到),Date(记录生成日期),格式为:2017-4-24
查询语句:select count(date) from UserWord where UserId = ? and date = ?
说明:需要用到学生知识水平表(userknowledge),该表根据当前用户ID和日期,去查询相应的记录数,以及最近七天每天学习的单词个数,实现“每日学习记录”的可视化界面。
展示样例:
二、闯关类型最爱
学生答题记录表(learntest)
字段 | 类型 | 属性 | 空 | 注释 |
---|---|---|---|---|
Id | int(11) | unsigned | 否 | 主键 |
UserId | varchar(255) | 否 | 用户账号 | |
TestKnowledgeId | varchar(255) | 否 | 考察知识ID | |
TestType | int(11) | 否 | 题型 | |
TestAspect | int(11) | 否 | 考察方面 | |
TestDifficulty | int(11) | 否 | 考察难度 | |
AnswerTime | int(11) | 否 | 该题回答次数 | |
Pass | int(11) | 否 | 是否答对,答对为1,未答对为0 | |
Date | date | 否 | 记录生成日期 |
(1)闯关类型对比(考察方面)
- 需要用到学生答题记录表(learntest),根据用户ID查询出来的数据记录中,每条记录中考察方面的ID号,统计出来有哪些考察方面,以及每个考察方面对应的记录数。每种考察方面对应的记录数/总记录数就是要展示的比例。本系统中涉及的考察方面包括听力、词义、拼写和用法。
点击有颜色的部分查看正确率,计算方式:根据当前用户ID和当前有颜色部分对应的考察方面的ID号去查询当前用户考察方面的数据记录,每一条记录中,参考分值为TestDifficulty,如果Pass=1,则实际分值为TestDifficulty/AnswerTime(double型),否则实际分值为0,将所有记录中的参考分值累加,实际分值累加,最后实际分值/参考分值(double型)就是正确率。
展示样例:
(2)闯关类型对比(题型方面)
- 需要用到学生答题记录表(learntest),根据用户ID查询出来的数据记录中,每条记录中题型方面的ID号,统计出来有哪些题型,以及每个题型对应的记录数。每种题型对应的记录数/总记录数就是要展示的比例。本系统中涉及的考察题型包括填空、选择、匹配和口语。
点击有颜色的部分查看正确率,计算方式:根据当前用户ID和当前有颜色部分对应的题型的ID号去查询当前用户考察题型的数据记录,每一条记录中,参考分值为TestDifficulty,如果Pass=1,则实际分值为TestDifficulty/AnswerTime(double型),否则实际分值为0,将所有记录中的参考分值累加,实际分值累加,最后实际分值/参考分值(double型)就是正确率。
展示样例:
(3)通关率对比
-
需要用到学生答题记录表(learntest),确定好日期段后,根据用户ID在学生答题记录表中查询到符合日期区间的记录,该日期区间的每一条记录中,参考分值为TestDifficulty,如果Pass=1,则实际分值为TestDifficulty/AnswerTime(double型),否则实际分值为0,将所有记录中的参考分值累加,实际分值累加,最后实际分值/参考分值(double型)就是该日期段的通关率。求出上周(日期段)和本周(日期段)的两个通关率呈现出来。
展示样例:
Paste_Image.png
(4)闯关方式的喜爱程度
- 需要用到学生答题记录表(learntest),确定好日期段后,根据用户ID在学生答题记录表中统计出当前考察方面,然后查询到符合日期区间的记录,该日期区间的每一条记录中,参考分值为TestDifficulty,如果Pass=1,则实际分值为TestDifficulty/AnswerTime(double型),否则实际分值为0,将所有记录中的参考分值累加,实际分值累加,最后实际分值/参考分值(double型)就是该用户在指定日期段内该考察方面的正确率。求出上周(日期段)和本周(日期段)的考察方面的正确率并进行呈现出来。
展示样例:
三、学习时长
字段 | 类型 | 属性 | 空 | 注释 |
---|---|---|---|---|
Id | int(11) | unsigned | 否 | 主键 |
UserId | varchar | 否 | 用户账号 | |
LoginTime | datetime | 否 | 此次登录时间 | |
ExitTime | datetime | 否 | 此次退出时间 |
- 需要用到学生登录信息表(userlogininfo),确定了两个日期段后,根据用户ID和日期段查询出符合条件的记录,计算每天记录的在线时长(ExitTime - LoginTime)。所有记录的在线时长累加,计算出日期段的在线时长。最后求出上周(日期段)和本周(日期段)的在线时长呈现出来。
展示样例:
网友评论