code: func (coll *HistColl) GetRowCountByIntColumnRanges(sc *stmtctx.StatementContext, colID int64, intRanges []*ranger.Range) (float64, error) {
  	c, ok := coll.Columns[colID]
  	if !ok || c.IsInvalid(sc, coll.Pseudo) {
  		if len(intRanges) == 0 {
  			return 0, nil
  		}
  		if intRanges[0].LowVal[0].Kind() == types.KindInt64 {
  			return getPseudoRowCountBySignedIntRanges(intRanges, float64(coll.Count)), nil
  		}
  		return getPseudoRowCountByUnsignedIntRanges(intRanges, float64(coll.Count)), nil
  	}
  	result, err := c.GetColumnRowCount(sc, intRanges, coll.ModifyCount)
  	result *= c.GetIncreaseFactor(coll.Count)
  	return result, errors.Trace(err)
  }
docs: // GetRowCountByIntColumnRanges estimates the row count by a slice of IntColumnRange.