• + 0 comments

    SELECT MAX(CASE WHEN occupation = 'doctor' THEN name ELSE NULL END) AS doctor, MAX(CASE WHEN occupation = 'professor' THEN name ELSE NULL END) AS professor, MAX(CASE WHEN occupation = 'singer' THEN name ELSE NULL END) AS singer, MAX(CASE WHEN occupation = 'actor' THEN name ELSE NULL END) AS actor FROM ( SELECT name, occupation, ROW_NUMBER() OVER (PARTITION BY occupation ORDER BY name) AS rn FROM occupations ) A GROUP BY rn ORDER BY rn;