select ID, count(DISTINCT ID) AS PRISONERS,
COUNT(DISTINCT case when GENRE ='Male' THEN ID ELSE NULL END) AS MALE,
COUNT(DISTINCT case when GENRE ='Female' THEN ID ELSE NULL END) AS FEMALE
FROM Table
GROUP BY ID
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/