**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`

if (row_policy_filter && !row_policy_filter->empty())
            {
                filter_info = generateFilterActions(
                    table_id, row_policy_filter->expression, context, storage, storage_snapshot, metadata_snapshot, required_columns,
                    prepared_sets);
                query_info.filter_asts.push_back(row_policy_filter->expression);
            }
            if (query_info.additional_filter_ast)
            {
                additional_filter_info = generateFilterActions(
                    table_id, query_info.additional_filter_ast, context, storage, storage_snapshot, metadata_snapshot, required_columns,
                    prepared_sets);
                additional_filter_info->do_remove_column = true;
                query_info.filter_asts.push_back(query_info.additional_filter_ast);
            }
            source_header = storage_snapshot->getSampleBlockForColumns(required_columns);
        }
        
        result_header = getSampleBlockImpl();
    };
    analyze(shouldMoveToPrewhere());
    bool need_analyze_again = false;
    bool can_analyze_again = false;
    if (context->hasQueryContext())
    {
        
        
        std::atomic<size_t> & current_query_analyze_count = context->getQueryContext()->kitchen_sink.analyze_counter;
        ++current_query_analyze_count;