Below is my query and its output. Is it possible to build my query with only one select statement (I have two in my query)? It’s for performance purposes.
WITH GradePassFail AS (
SELECT
Subject,
Grade,
CASE WHEN Grade >= 50 THEN 1 ELSE 0 END AS Pass,
CASE WHEN Grade < 50 THEN 1 ELSE 0 END AS Fail
FROM Grade_report
)
SELECT Subject, MAX(Grade) AS Grade, SUM(Pass) AS Pass, SUM(Fail) AS Fail
FROM GradePassFail
GROUP BY Subject

You can perform the
CASEstatements for Pass/Fail within theSUMfunction… then you don’t need the CTE:You can verify here:
http://sqlfiddle.com/#!3/99cd4/7