**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']`
{
        const String & column_name = it->name;
        unknown_required_source_columns.erase(column_name);
        if (!required.contains(column_name))
            it = source_columns.erase(it);
        else
            ++it;
    }
    has_virtual_shard_num = false;
    
    
    if (storage)
    {
        const auto storage_virtuals = storage->getVirtuals();
        for (auto it = unknown_required_source_columns.begin(); it != unknown_required_source_columns.end();)
        {
            auto column = storage_virtuals.tryGetByName(*it);
            if (column)
            {
                source_columns.push_back(*column);
                it = unknown_required_source_columns.erase(it);
            }
            else
                ++it;
        }
        if (is_remote_storage)
        {
            for (const auto & name_type : storage_virtuals)
            {
                if (name_type.name == "_shard_num" && storage->isVirtualColumn("_shard_num", storage_snapshot->getMetadataForQuery()))