SELECT fdfdi.field_district_id_value as district_id , year , race , ROUND(SUM(count) / inner_sum * 100 ,2) as percent FROM school_data_race_ethnicity_raw sdre INNER JOIN field_data_field_school_id fdfsi ON fdfsi.field_school_id_value = sdre.school_id INNER JOIN field_data_field_district fdfd ON fdfd.entity_id = fdfsi.entity_id INNER JOIN field_data_field_district_id fdfdi ON fdfd.field_district_nid = fdfdi.entity_id INNER JOIN ( SELECT fdfdi_inner.field_district_id_value, sdre_inner.year, SUM(count) as inner_sum FROM school_data_race_ethnicity_raw as sdre_inner INNER JOIN field_data_field_school_id as fdfsi_inner ON fdfsi_inner.field_school_id_value = sdre_inner.school_id INNER JOIN field_data_field_district as fdfd_inner ON fdfd_inner.entity_id = fdfsi_inner.entity_id INNER JOIN field_data_field_district_id as fdfdi_inner ON fdfd_inner.field_district_nid = fdfdi_inner.entity_id GROUP BY fdfdi_inner.field_district_id_value, sdre_inner.year ) inner ON inner.field_district_id_value = fdfdi.field_district_id_value AND inner.year = sdre.year GROUP BY district_id, year, race