## Bug description

*Please describe.*  
- some datapoints show 0 but people will appear in modal

*If this affects the front-end, screenshots would be of great help.*  

## Expected behavior
- amount of people and datapoint should be the same


## How to reproduce

1. demo data clickhouse instance
2. go to retention trends for a day with some people


## Environment

- [ ] PostHog Cloud
- [ ] self-hosted PostHog, version/commit: _please provide_

## Additional context



#### *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(