我有一个拥有很多学生的数据集,每个学生都有自己的学号。每个学生都进行了多次测验。他们经常不止一次地进行测验。我可以很容易地找出每个学生已经完成了多少次测验,但我也想知道每个学生做了多少次不同的独特测验。例如,一名学生可能已经完成了6次测验,但他们只完成了3次独特的测验(也许他们每次进行了两次独特的测验)。我如何在Access中执行此操作?MS-Access - 独特记录
0
A
回答
0
这将真正有助于获得表名和列名,这样可以更轻松地对答案进行罚款调整。
对于这个例子的目的,我们将假定你有一台,调用Table,它有已采取的测验列学生和测验,测验是名称(唯一标识符)。
一个SQL得到的唯一的计数测验学生了,应该是这样的:
Select a.Student, count(a.Quiz) as QuizCount
From (Select Distinct Student, Quiz from Table1) as a
Group by a.Student
的(Select Distinct Student, Quiz from Table1)
在这种情况下称为子查询,这意味着它是内查询查询。这个子查询的目的是得到一个结果表,然后你可以从中得到一个数字,只有一个学生完成的关键字Distinct完成的独特测验。
as a
和as QuizCount
被称为混叠。表和列可以是别名,通常用于不必重复键入长表名,增加查询的可读性,命名聚合函数的结果列,如count,avg,sum等,因为如果未提供别名,则聚合函数的结果列名称与EXR1000类似。
最后,结果集中不是聚合函数结果的任何列(如a.Student)需要放在Group By
语句中。
编辑:使用版本我们提供的表/列名:
Select b.StudentID, Count(b.QuizName) as TotalQuizCount, c.UniqueQuizCount
From [combine V2] as b
Inner Join (SELECT [a].StudentID, Count([a].QuizName) as UniqueQuizCount
from (SELECT Distinct StudentID, QuizName
FROM [combine V2]) as a
Group By a.StudentID) as c ON b.StudentID = c.StudentID
Group By b.StudentID, UniqueQuizCount
0
您想在SQL查询中使用DISTINCT谓词。因为我不知道你的表是什么样子,我只是想给你一个例子:
SELECT DISTINCT NAME_OF_QUIZ FROM MYTABLE WHERE STUDENTID=?
0
SELECT DISTINCT tbl_Quizzes.Student, tbl_Quizzes.Quiz
FROM tbl_Quizzes;
或进入查询设计窗口中,右键单击它并选择属性,独特值,是的。
相关问题
- 1. Cakephp Paginate独特记录
- 2. 独特的集合记录
- 3. 错误上打开记录MSACCESS
- 4. 插入记录到Msaccess数据库
- 5. 将记录异步插入到MsAccess中
- 6. 基于独特日期计算记录
- 7. 获取最新的独特记录
- 8. 独特1000个记录,6位数
- 9. Laravel独特的验证一个记录
- 10. 筛选器存储记录 - 独特
- 11. MySQL来返回独特的记录
- 12. VB 2012:使用ADO记录集修改记录MSACCESS
- 13. mySQL独占记录
- 14. MSACCESS我想要得到计算所有记录的特定月份和年份
- 15. 注册一个具有独特记录器名称的记录器类型
- 16. MSAccess使用特殊字符
- 17. MSACCESS从表单txt和cbo框中向表中添加记录
- 18. 循环访问MSAccess中的连续记录
- 19. 使用数据集在msaccess中插入新记录
- 20. 添加记录使用C#Windows窗体和MSACCESS
- 21. 错误:用SQL语句打开记录集MsAccess
- 22. Msaccess 2010 - 基于记录来源的报告
- 23. MSACCESS - 如何找到重复的记录只
- 24. MSAccess VBA ORDER BY不能在动态记录源上工作
- 25. MSAccess-更新文本框中的所有记录
- 26. MSAccess:从每个类别中选择N条记录
- 27. laravel 4的独特规则对更新数据库记录
- 28. 检索1个while循环内的3个独特记录
- 29. LINQ - 通过WHERE子句查询6000条独特记录
- 30. 选择一个独特的记录,过滤不起作用
谢谢您的意见。为了更清楚一点,我想在左栏中显示所有学生ID,并完成第2和第3栏中完成的测验次数和独特的测验(即,我不打算为一个特定的学生ID) – Paul
我添加了一个编辑到我的答案,使用您的列和表名称,并具有所有3个请求的列。 – Bryan