Skip to content
Spinner
DataFrameas
highest_donation_assignments
variable
-- highest_donation_assignments
SELECT 
	assignment_name, 
	region,
	ROUND(SUM(amount), 2) AS rounded_total_donation_amount,
	donor_type
FROM assignments AS a
INNER JOIN donations AS dn
ON a.assignment_id = dn.assignment_id
INNER JOIN donors AS d
ON dn.donor_id = d.donor_id
GROUP BY assignment_name, region, donor_type
ORDER BY rounded_total_donation_amount DESC
LIMIT 5;
Spinner
DataFrameas
top_regional_impact_assignments
variable
-- top_regional_impact_assignments
WITH donation_count AS(
SELECT assignment_id,
       COUNT(donation_id) AS num_total_donations
FROM public.donations
GROUP BY assignment_id),

ranking AS(
SELECT assignment_name,
       region,
       impact_score,
	   num_total_donations,
       ROW_NUMBER() OVER (PARTITION BY region ORDER BY impact_score DESC) AS rank_per_region
FROM public.assignments AS a
INNER JOIN donation_count AS dc
ON a.assignment_id = dc.assignment_id
WHERE num_total_donations > 0
)

SELECT assignment_name,
       region,
       impact_score,
       num_total_donations
FROM ranking
WHERE rank_per_region = 1
ORDER BY region ASC;
Spinner
DataFrameas
df
variable
SELECT *
FROM public.assignments;
Spinner
DataFrameas
df1
variable
SELECT *
FROM public.donations;
Spinner
DataFrameas
df2
variable
SELECT *
FROM public.donors;
Spinner
DataFrameas
df3
variable
SELECT assignment_name, region
FROM public.assignments;
Spinner
DataFrameas
df4
variable
SELECT ROUND(SUM(amount), 2) AS rounded_total_donation_amount
FROM public.donations;
Spinner
DataFrameas
df5
variable
SELECT donor_type
FROM public.donors;
Spinner
DataFrameas
TASK_1
variable
SELECT 
	assignment_name, 
	region,
	ROUND(SUM(amount), 2) AS rounded_total_donation_amount,
	donor_type
FROM assignments AS a
INNER JOIN donations AS dn
ON a.assignment_id = dn.assignment_id
INNER JOIN donors AS d
ON dn.donor_id = d.donor_id
GROUP BY assignment_name, region, donor_type
ORDER BY rounded_total_donation_amount DESC
LIMIT 5;
Spinner
DataFrameas
df6
variable
SELECT assignment_id,
       COUNT(donation_id) AS num_total_donations
FROM public.donations
GROUP BY assignment_id;
Spinner
DataFrameas
df7
variable
SELECT assignment_name,
       region,
       impact_score,
       ROW_NUMBER() OVER (PARTITION BY region ORDER BY impact_score DESC) AS rank_per_region
FROM public.assignments;
Spinner
DataFrameas
TASK_2
variable
WITH donation_count AS(
SELECT assignment_id,
       COUNT(donation_id) AS num_total_donations
FROM public.donations
GROUP BY assignment_id),
ranking AS(
SELECT assignment_name,
       region,
       impact_score,
	   num_total_donations,
       ROW_NUMBER() OVER (PARTITION BY region ORDER BY impact_score DESC) AS rank_per_region
FROM public.assignments AS a
INNER JOIN donation_count AS dc
ON a.assignment_id = dc.assignment_id
WHERE num_total_donations > 0
)

SELECT assignment_name,
       region,
       impact_score,
       num_total_donations
FROM ranking
WHERE rank_per_region = 1
ORDER BY region ASC;