`select count(*) from T group by A, B` suppose `ndv(A) > ndv(B)` the estimated row count of aggregate is between ndv(A) and ndv(A) * ndv(B) in previous version, we choose upper bound, that is ndv(A) * ndv(B). The drawback of this choice is the estimated row is often bigger that row count of T. In this version, we choose the lower bound.