**Describe the issue**
```
Code: 47. DB::Exception: Received from localhost:9000. DB::Exception: Missing columns: 'total_byte' while processing query: 'SELECT name, total_bytes FROM system.tables WHERE total_byte > 1000000000 ORDER BY total_bytes DESC', required columns: 'name' 'total_bytes' 'total_byte', maybe you meant: ['name','total_bytes','total_bytes']. (UNKNOWN_IDENTIFIER)
```

The name `total_bytes` is duplicated.

The message should be written in normal English, like:

`maybe you meant 'this', 'that' or 'whatever'`
instead of
`maybe you meant ['this', 'that', 'whatever']`
size_t subquery_depth = select_options.subquery_depth;
    bool remove_duplicates = select_options.remove_duplicates;
    const auto & settings = getContext()->getSettingsRef();
    const NameSet & source_columns_set = result.source_columns_set;
    if (table_join)
    {
        result.analyzed_join = table_join;
        result.analyzed_join->resetCollected();
    }
    else 
        result.analyzed_join = std::make_shared<TableJoin>();
    if (remove_duplicates)
        renameDuplicatedColumns(select_query);
    
    if (settings.optimize_normalize_count_variants)
        TreeOptimizer::optimizeCountConstantAndSumOne(query, getContext());
    if (tables_with_columns.size() > 1)
    {
        const auto & right_table = tables_with_columns[1];
        auto columns_from_joined_table = right_table.columns;
        
        
        columns_from_joined_table.insert(columns_from_joined_table.end(), right_table.hidden_columns.begin(), right_table.hidden_columns.end());
        result.analyzed_join->setColumnsFromJoinedTable(std::move(columns_from_joined_table), source_columns_set, right_table.table.getQualifiedNamePrefix());
    }
    translateQualifiedNames(query, *select_query, source_columns_set, tables_with_columns);
    
    LogicalExpressionsOptimizer(select_query, settings.optimize_min_equality_disjunction_chain_length.value).perform();
    NameSet all_source_columns_set = source_columns_set;
    if (table_join)