code: func (hg *Histogram) equalRowCount(value types.Datum) float64 {
  	index, match := hg.Bounds.LowerBound(0, &value)
  	// Since we store the lower and upper bound together, if the index is an odd number, then it points to a upper bound.
  	if index%2 == 1 {
  		if match {
  			return float64(hg.Buckets[index/2].Repeat)
  		}
  		return hg.notNullCount() / float64(hg.NDV)
  	}
  	if match {
  		cmp := chunk.GetCompareFunc(hg.Tp)
  		if cmp(hg.Bounds.GetRow(index), 0, hg.Bounds.GetRow(index+1), 0) == 0 {
  			return float64(hg.Buckets[index/2].Repeat)
  		}
  		return hg.notNullCount() / float64(hg.NDV)
  	}
  	return 0
  }
docs: // equalRowCount estimates the row count where the column equals to value.