**Describe what's wrong**
Request with `DISTINCT`+`LIMIT BY`+`LIMIT` return less rows than provided in `LIMIT`

**Does it reproduce on recent release?**
22.11

**How to reproduce**
The following query from hits table returns less number of rows then provided in LIMIT
```
SELECT DISTINCT
    Title,
    SearchPhrase
FROM hits_v1
WHERE (SearchPhrase != '') AND (NOT match(Title, '[а-яА-ЯёЁ]')) AND (NOT match(SearchPhrase, '[а-яА-ЯёЁ]'))
LIMIT 1 BY
    Title,
    SearchPhrase
LIMIT 10
````
**Expected behavior**
Query returns number of rows provided in `LIMIT`

query_info.projection->aggregate_descriptions,
                should_produce_results_in_order_of_bucket_number);
        }
    }
}
void InterpreterSelectQuery::setMergeTreeReadTaskCallbackAndClientInfo(MergeTreeReadTaskCallback && callback)
{
    context->getClientInfo().collaborate_with_initiator = true;
    context->setMergeTreeReadTaskCallback(std::move(callback));
}
void InterpreterSelectQuery::setProperClientInfo(size_t replica_num, size_t replica_count)
{
    context->getClientInfo().query_kind = ClientInfo::QueryKind::SECONDARY_QUERY;
    context->getClientInfo().count_participating_replicas = replica_count;
    context->getClientInfo().number_of_current_replica = replica_num;
}
RowPolicyFilterPtr InterpreterSelectQuery::getRowPolicyFilter() const
{
    return row_policy_filter;
}
void InterpreterSelectQuery::extendQueryLogElemImpl(QueryLogElement & elem, const ASTPtr & , ContextPtr ) const
{
    elem.query_kind = "Select";
    for (const auto & row_policy : row_policy_filter->policies)
    {
        auto name = row_policy->getFullName().toString();
        elem.used_row_policies.emplace(std::move(name));
    }
}
bool InterpreterSelectQuery::shouldMoveToPrewhere()