Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save SalesforceBobLightning/59b032fa832e3156c4be11801b65e549 to your computer and use it in GitHub Desktop.

Select an option

Save SalesforceBobLightning/59b032fa832e3156c4be11801b65e549 to your computer and use it in GitHub Desktop.
SOQL Query for finding Duplicate Person Account by Email Address
List<AggregateResult> results = [SELECT Count(ID), PersonEmail
FROM Account
WHERE IsPersonAccount = TRUE
GROUP BY PersonEmail
HAVING Count(ID) > 1
ORDER BY Count(ID) DESC
LIMIT 2000];
String report = 'count,PersonEmail\n';
for(AggregateResult r : results) {
report += r.get('numOf');
report += ',';
report += r.get('PersonEmail');
report += ',';
report +='\n';
}
ContentVersion contentVersion = new ContentVersion(
versionData = Blob.valueOf(report),
title = 'Duplicate Person Accounts Report',
pathOnClient = StringUtils.format('/Duplicate-Person-Accounts-Report-{0}.csv', DateTime.now().getTime()),
FirstPublishLocationId = UserInfo.getUserId());
insert contentVersion;
SELECT Count(ID), PersonEmail
FROM Account
WHERE IsPersonAccount = TRUE
GROUP BY PersonEmail
HAVING Count(ID) > 1
ORDER BY Count(ID) DESC
LIMIT 2000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment