У меня есть базовый запрос на выборку, который просматривает некоторые примеры данных в моей таблице.Я пытаюсь получить три фрагмента информации.
- Всего образцов (всего записей)
- Сколько с баллом, большим или равным 85
- Сколькосо счетом менее 85
Данные:
ScoreID RecordID Score ErrorMarkedToQID ErrorActionID
1 2 30 Q00019 1
2 2 100 Q20039 3
3 3 30 Q10091 3
4 3 35 Q00019 5
6 4 5 Q10091 3
Это то, что я пытался:
DECLARE @startDate DATE = '2018/09/12', @endDate DATE = '2018/09/24'
SELECT COUNT(s.ScoreID) AS totalSamples,
COUNT(CASE WHEN s.Score >= 85 THEN 1 ELSE 0 END) AS Pass,
COUNT(CASE WHEN s.Score < 85 THEN 1 ELSE 0 END) AS Fail
FROM [SubmissionScores] AS s
JOIN Submission AS sub
ON sub.SubmissionID = s.RecordID
WHERE sub.DateSubmittedUTC BETWEEN @startDate AND @endDate
Мой текущий выводявляется то, что все поля выводят 5, что является общим количеством записей.Так что, похоже, моя CASE
логика неверна.
Можно ли сделать это простым запросом, как я пытаюсь?