### Description

`FROM test | eval x1 = pow(emp_no, 1), x2 = pow(x1, 1), x3 = pow(x2, 2)`

or

`FROM test | eval x1 = substring(ip1, 3), x2 = substring(x1, 2), x3 = substring(x2, 2)`

or

`FROM test | eval x1 = concat(ip1, ip2), x2 = concat(x1, "--"), x3 = concat(x2, "**")`

will fail with 

```
                "type": "verification_exception",
                "reason": "Found 1 problem\nline 1:65: Unknown column [x2], did you mean [x1]?"
```

Spawned from https://github.com/elastic/elasticsearch/issues/99472
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/analysis/AnalyzerTests.java
var limit = as(plan, Limit.class);
        var agg = as(limit.child(), Aggregate.class);
        var aggregates = agg.aggregates();
        assertThat(aggregates, hasSize(1));
        assertThat(Expressions.names(aggregates), contains("a"));
        assertThat(Expressions.names(agg.groupings()), contains("a"));
        assertEquals(agg.groupings(), agg.aggregates());
    }
    public void testAggsWithoutAggAndFollowingCommand() throws Exception {
        var plan = analyze("""
            row a = 1, b = 2
            | stats by a
            | sort a
            """);
        var limit = as(plan, Limit.class);
        var order = as(limit.child(), OrderBy.class);
        var agg = as(order.child(), Aggregate.class);
        var aggregates = agg.aggregates();
        assertThat(aggregates, hasSize(1));
        assertThat(Expressions.names(aggregates), contains("a"));
        assertThat(Expressions.names(agg.groupings()), contains("a"));
        assertEquals(agg.groupings(), agg.aggregates());
    }
    public void testUnsupportedFieldsInStats() {
        var errorMsg = "Cannot use field [point] with unsupported type [geo_point]";
        verifyUnsupported("""
            from test
            | stats max(point)
            """, errorMsg);
        verifyUnsupported("""