我有一个数据集,其中数字列也是字符串类型。
我需要计数值大于5且小于60的行数。由于它是一个字符串列,因此具有逗号分隔的数字。
此列中数据库中的值类似于
98,800 40,857.06 5 500 1,250 40
代码:
$rangeQuery = array('NumberInt(this.turnover_GBP_LT)' => array( '$gt' => 5, '$lt' => 100 )); $cursor = $collection->count($rangeQuery);
尽管数据库中有可用值,但我将计数设为0。
答案 0 :(得分:0)
您可以使用以下php代码
$numbers = array('98,800',
'40,857.06',
'5',
'500',
'1,250',
'40');
$min = 5;
$max = 100;
$count = count(array_filter(
$numbers,
function ($value) use($min,$max) {
$value = filter_var($value, FILTER_SANITIZE_NUMBER_INT);
return ($value > $min && $value < $max);
}
));