繁体   English   中英

使用 SQL 合并行

[英]Consolidate Rows with SQL

试图合并测试结果,使每个测试都排成一行。 我从中提取的数据库每行都有一个答案结果。 样本数据:

学生姓名 测试名称 问题尝试 正确回答(0 = 否,1 = 是)
玛丽 介绍评估 1 1
玛丽 介绍评估 1 0
玛丽 介绍评估 1 1
约瑟夫 介绍评估 1 1
约瑟夫 介绍评估 1 1
约瑟夫 介绍评估 1 1
汤姆 介绍评估 1 0
汤姆 介绍评估 1 0
汤姆 介绍评估 1 1

如果可能的话,期望的结果:

学生姓名 测试名称 问题尝试 正确回答
玛丽 介绍评估 3 2
约瑟夫 介绍评估 3 3
汤姆 介绍评估 3 1

任何指导将不胜感激。

听起来您只想要一个带有一些SUM的基本GROUP BY

SELECT "Student Name", "Test Name"
    , SUM("Question Attempt") "Question Attempt"
    , SUM("Answered Correctly") "Answered Correctly"
FROM mytable
GROUP BY "Student Name", "Test Name"

GROUP BY "Student Name", "Test Name"表示您希望每个唯一的学生/测试有一行, SUM说明您希望如何组合其他数据。

select student_name, test_name
    , count(question_attempt), sum(answered_correctly) 
from table
group by student_name, test_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM