## 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
result = []
        from posthog.api.person import PersonSerializer
        with connection.cursor() as cursor:
            cursor.execute(
                final_query, params + (100, filter.offset),
            )
            raw_results = cursor.fetchall()
            people_dict = {}
            for person in Person.objects.filter(team_id=team.pk, id__in=[val[0] for val in raw_results]):
                people_dict.update({person.pk: PersonSerializer(person).data})
            result = self.process_people_in_period(filter, raw_results, people_dict)
        return result
    def process_people_in_period(
        self, filter: RetentionFilter, vals, people_dict: Dict[str, ReturnDict]
    ) -> List[Dict[str, Any]]:
        marker_length = filter.total_intervals
        result = []
        for val in vals:
            result.append(
                {"person": people_dict[val[0]], "appearances": appearance_to_markers(sorted(val[2]), marker_length)}
            )
        return result
    def get_entity_condition(self, entity: Entity, table: str) -> Tuple[Q, str]:
        if entity.type == TREND_FILTER_TYPE_EVENTS:
            return Q(event=entity.id), "{}.event = %s".format(table)
        elif entity.type == TREND_FILTER_TYPE_ACTIONS:
            return Q(action__pk=entity.id), "{}.action_id = %s".format(table)
        else:
            raise ValueError(f"Entity type not supported")
    def _get_trunc_func(