我有一个简单的查询:摘要信息栏
SELECT sds.district_id,detail.year, detail.race, SUM(count)
FROM school_data_race_ethnicity_raw as detail
INNER JOIN school_data_schools as sds USING (school_id)
GROUP BY district_id, year, race
示例结果集:
| 68080104 | 2009 | Multiracial | 0 |
| 68080104 | 2009 | White | 847 |
| 68080104 | 2010 | American Indian | 1 |
| 68080104 | 2010 | Asian | 4 |
| 68080104 | 2010 | Black | 17 |
| 68080104 | 2010 | Hispanic | 4 |
| 68080104 | 2010 | Multiracial | 2 |
| 68080104 | 2010 | White | 823 |
| 68080104 | 2011 | American Indian | 4 |
| 68080104 | 2011 | Asian | 4 |
| 68080104 | 2011 | Black | 9 |
| 68080104 | 2011 | Hispanic | 10 |
| 68080104 | 2011 | Multiracial | 24 |
| 68080104 | 2011 | White | 767 |
+-------------+------+-----------------+------------+
我想添加一个名为总第5列,显示总人口的总和对于给定的年份和地区。例如,如果我2011年在68080104区,总数将是(4 + 4 + 9 + 10 + 24 + 767)。我需要这个作为这个查询中的另一列。它也需要快速。 (在10秒以内)。我正在努力如何做到这一点,而不是妥协的速度和数据。
检查下面我的解决方案,你需要创建一个单独的查询来计数值,然后加入它与原来的一个 –