## 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
properties_to_Q(filter.properties, team_id=team.pk)
            )
            first_date = (
                filtered_events.filter(entity_condition)
                .annotate(first_date=trunc)
                .values("first_date", "person_id", "event", "action")
                .distinct()
            )
            final_query = (
                filtered_events.filter(returning_condition)
                .values_list("person_id", "event_date", "event", "action")
                .union(first_date.values_list("first_date", "person_id", "event", "action"))
            )
        start_params = (
            (filter.date_from, filter.date_from) if period == "Month" or period == "Hour" else (filter.date_from,)
        )
        event_query, events_query_params = final_query.query.sql_with_params()
        reference_event_query, first_date_params = first_date.query.sql_with_params()
        event_params = (filter.target_entity.id, filter.returning_entity.id, filter.target_entity.id)
        return (
            {
                "event_query": event_query,
                "reference_event_query": reference_event_query,
                "fields": fields,
                "return_condition": returning_condition_stringified,
                "target_condition": entity_condition_strigified,
            },
            start_params + events_query_params + first_date_params + event_params,
        )
    def _execute_sql(self, filter: RetentionFilter, team: Team,) -> Dict[Tuple[int, int], Dict[str, Any]]: