## Bug description

We have an issue in which the table of users for each cohort does not contain the same number of users as the table reports.

### Example
([Source](https://app.posthog.com/insights?startEntity=%7B%22actions%22%3A%5B%5D%2C%22events%22%3A%5B%7B%22id%22%3A%22user%20signed%20up%22%2C%22type%22%3A%22events%22%2C%22order%22%3A0%2C%22name%22%3A%22user%20signed%20up%22%7D%5D%2C%22new_entity%22%3A%5B%5D%7D&returningEntity=%7B%22events%22%3A%5B%7B%22id%22%3A%22%24pageview%22%2C%22name%22%3A%22%24pageview%22%2C%22type%22%3A%22events%22%7D%5D%7D&retentionType=retention_first_time&date_to=2020-04-05T12%3A59%3A36.001Z&period=w&display=ActionsTable&properties=%5B%7B%22key%22%3A%22id%22%2C%22value%22%3A71%2C%22type%22%3A%22cohort%22%7D%2C%7B%22key%22%3A%22%24current_url%22%2C%22value%22%3A%22www.posthog.com%22%2C%22operator%22%3A%22not_icontains%22%2C%22type%22%3A%22event%22%7D%2C%7B%22key%22%3A%22%24current_url%22%2C%22value%22%3A%22https%3A%2F%2Fposthog.com%22%2C%22operator%22%3A%22not_icontains%22%2C%22type%22%3A%22event%22%7D%2C%7B%22key%22%3A%22%24current_url%22%2C%22value%22%3A%22localhost%22%2C%22operator%22%3A%22not_icontains%22%2C%22type%22%3A%22event%22%7D%2C%7B%22key%22%3A%22%24current_url%22%2C%22value%22%3A%22127.0.0.1%22%2C%22operator%22%3A%22not_icontains%22%2C%22type%22%3A%22event%22%7D%2C%7B%22key%22%3A%22%24current_url%22%2C%22value%22%3A%220.0.0.1%22%2C%22operator%22%3A%22not_icontains%22%2C%22type%22%3A%22event%22%7D%5D&insight=RETENTION))

**Table shows 6 users in cohort:**
<img width="222" alt="" src="https://user-images.githubusercontent.com/5864173/102359528-867d9500-3f76-11eb-8134-50d0adcbd5b8.png">

**Persons list shows a lot more than 6 users in cohort:**
<img width="150" alt="" src="https://user-images.githubusercontent.com/5864173/102359599-9a28fb80-3f76-11eb-9cb8-61b37ddd4d95.png">


## Expected behavior
The persons list and the retention table should match.


## How to reproduce

See description above.

## Environment

Cloud, Clickhouse.

## Additional context

Currently blocking internal personas analysis.

#### *Thank you* for your bug report – we love squashing them!

posthog/queries/retention.py
period = filter.period
        is_first_time_retention = filter.retention_type == RETENTION_FIRST_TIME
        events: QuerySet = QuerySet()
        entity_condition, entity_condition_strigified = self.get_entity_condition(
            filter.target_entity, "first_event_date"
        )
        returning_condition, returning_condition_stringified = self.get_entity_condition(
            filter.returning_entity, "events"
        )
        events = Event.objects.filter(team_id=team.pk).add_person_id(team.pk).annotate(event_date=F("timestamp"))
        trunc, fields = self._get_trunc_func("timestamp", period)
        if is_first_time_retention:
            filtered_events = events.filter(properties_to_Q(filter.properties, team_id=team.pk))
            first_date = (
                filtered_events.filter(entity_condition)
                .values("person_id", "event", "action")
                .annotate(first_date=Min(trunc))
                .filter(filter.custom_date_filter_Q("first_date"))
                .distinct()
            )
            final_query = (
                filtered_events.filter(filter.date_filter_Q)
                .filter(returning_condition)
                .values_list("person_id", "event_date", "event", "action")
                .union(first_date.values_list("first_date", "person_id", "event", "action"))
            )
        else:
            filtered_events = events.filter(filter.date_filter_Q).filter(