Вопрос SQL-запроса - PullRequest
       1

Вопрос SQL-запроса

0 голосов
/ 27 октября 2010

Вот таблица «Ответы». Мне нужно получить количество вопросов №, которые являются «R», «W», «» для каждого раздела для данного AcademicYear и TestNo. Какой лучший запрос SQL?

AcademicYear  StudentID  TestNo Section QuestionNo  Answer

2010-2011        1        1        2        1        R
2010-2011        1        1        2        2        W
2010-2011        1        1        2        3        R
2010-2011        1        1        2        4         
2010-2011        1        1        2        5         
2010-2011        1        1        2        6         
2010-2011        1        1        2        7         
2010-2011        1        1        2        8         
2010-2011        1        1        2        9         
2010-2011        1        1        2        10         

Конечный результат должен выглядеть следующим образом:

Section QuestionNo  Answer   Count
   2         1         R       15
   2         1         W       25
   2         1                 100
   2         2         R       10
   2         2         W       50
   2         2                 10
   etc..

Извините, что не сформулировал вопрос в первый раз.

Ответы [ 2 ]

3 голосов
/ 27 октября 2010

EDIT

Я добавил несколько столбцов в вывод, чтобы они больше соответствовали вашему вопросу.

Просто замените ??? со значениями, которые вы хотите.

SELECT section, question, answer, COUNT(*) AS count
FROM table 
WHERE academicYear = ??? AND testNo = ???
GROUP BY section, question, answer
2 голосов
/ 27 октября 2010
select 
academicyear, testno,

 sum(case when answer='R' then 1 else 0 end) as Right,
 sum(case when answer='W' then 1 else 0 end) as Wrong
from 
T
group by academicyear, testno
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...