By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table t (evaID INT, employeeID INT, evaRec INT);
INSERT INTO t VALUES
(1, 1, -3),
(17, 1, -2),
(19, 1, -2),
(19, 1, -1),
(16, 2, 3),
(16, 5, 0);
6 rows affected
SELECT
employeeID,
1.0 * SUM(CASE WHEN evaRec = -2 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (-2, -3) THEN 1 ELSE 0 END), 0) PercentPositive,
1.0 * SUM(CASE WHEN evaRec = 0 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (-1, 0) THEN 1 ELSE 0 END), 0) PercentYes,
1.0 * SUM(CASE WHEN evaRec = 1 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (1, 2, 3, 4, 5) THEN 1 ELSE 0 END), 0) PercentValue1,
1.0 * SUM(CASE WHEN evaRec = 2 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (1, 2, 3, 4, 5) THEN 1 ELSE 0 END), 0) PercentValue2,
1.0 * SUM(CASE WHEN evaRec = 3 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (1, 2, 3, 4, 5) THEN 1 ELSE 0 END), 0) PercentValue3,
1.0 * SUM(CASE WHEN evaRec = 4 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (1, 2, 3, 4, 5) THEN 1 ELSE 0 END), 0) PercentValue4,
1.0 * SUM(CASE WHEN evaRec = 5 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN evaRec IN (1, 2, 3, 4, 5) THEN 1 ELSE 0 END), 0) PercentValue5
FROM t
GROUP BY employeeID
employeeID | PercentPositive | PercentYes | PercentValue1 | PercentValue2 | PercentValue3 | PercentValue4 | PercentValue5 |
---|---|---|---|---|---|---|---|
1 | 0.666666666666 | 0.000000000000 | null | null | null | null | null |
2 | null | null | 0.000000000000 | 0.000000000000 | 1.000000000000 | 0.000000000000 | 0.000000000000 |
5 | null | 1.000000000000 | null | null | null | null | null |