Você não precisa de uma associação:
SELECT
position,
SUM(status = 'Y') AS StatusIsYes,
SUM(status = 'N') AS StatusIsNo
FROM students
GROUP BY position
Observe a distribuição bastante divertida do
CASE
, porque no mysql (somente) true
é 1
e false
é 0
, então sum()
de uma condição conta quantas vezes ela é verdadeira :)