Skip to content

Instantly share code, notes, and snippets.

@arm5077
Last active October 19, 2015 22:56
Show Gist options
  • Select an option

  • Save arm5077/63250c0336f401b417b2 to your computer and use it in GitHub Desktop.

Select an option

Save arm5077/63250c0336f401b417b2 to your computer and use it in GitHub Desktop.
Finds donors who have contributed to multiple 2016 campaigns.
ALTER TABLE contributions_individual ADD COLUMN contbr_nm_short varchar(200);
UPDATE contributions_individual set contbr_nm_short = SUBSTRING_INDEX(contributions_individual.contbr_nm, ' ', 2);
SELECT contributions_individual.cand_nm,
contributions_individual.contbr_nm_short,
contributions_individual.contbr_zip,
SUM(contributions_individual.contb_receipt_amt) as total,
b.cand_nm,
b.contbr_nm_short,
b.contbr_zip,
b.total
FROM contributions_individual
JOIN (
SELECT cand_nm,
contbr_nm_short,
contbr_zip,
SUM(contb_receipt_amt) as total
FROM contributions_individual
GROUP BY cand_nm, contbr_nm, contbr_zip
) as b
ON contributions_individual.contbr_nm_short = b.contbr_nm_short
AND LEFT(contributions_individual.contbr_zip, 5) = LEFT(b.contbr_zip, 5)
AND contributions_individual.cand_nm != b.cand_nm
GROUP BY contributions_individual.cand_nm, contributions_individual.contbr_nm, contributions_individual.contbr_zip;
@arm5077

arm5077 commented Oct 19, 2015

Copy link
Copy Markdown
Author

Initalizing.

@arm5077

arm5077 commented Oct 19, 2015

Copy link
Copy Markdown
Author

Added an ALTER TABLE to add a condensed contributor name to the basic file, allowing better joins between candidates (who do annoying stuff to names, like add "Mr." sometimes).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment