SQL-запрос для получения значения поля - PullRequest
2 голосов
/ 17 июня 2010

У меня есть таблица с более чем 1 миллионом записей результатов теста, которые в основном имеют уникальный идентификатор Score_ID, subject_ID и оценку, данную человеком Диапазон оценок для большинства предметов составляет 0-3, но у некоторых есть диапазон 0-4. Есть около 25 возможных предметов.

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

subject_ID     0    1    2    3    4
----------    ---  ---  ---  ---  ---
1             967  576  856  234  
2             576  947  847  987  324
.
.

Таким образом, он группирует данные по subject_ID, а затем показывает, сколько раз конкретное значение оценки было дано в рамках этого субъекта.

Буду очень признателен за любые указатели SQL для генерации.

1 Ответ

6 голосов
/ 17 июня 2010
Select subject_id
    , Sum( Case When Score = 0 Then 1 Else 0 End ) As [0]
    , Sum( Case When Score = 1 Then 1 Else 0 End ) As [1]
    , Sum( Case When Score = 2 Then 1 Else 0 End ) As [2]
    , Sum( Case When Score = 3 Then 1 Else 0 End ) As [3]
    , Sum( Case When Score = 4 Then 1 Else 0 End ) As [4]
From Table
Group By subject_id
...