[英]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.