我从这样的PDO查询中获取所有结果:
$orders = $ordersQuery->fetchAll(PDO::FETCH_ASSOC);
现在,我想计算字段'status'等于'OPEN'的行数。我知道我可以直接构建我的SQL以仅加载OPEN状态行,但我认为使用PHP可能会更快
$openOrders = count(array_keys($orders,"OPEN"));
虽然返回0。
答案 0 :(得分:1)
为了记录,这是我在PHP中的方式:
$orders = $ordersQuery->fetchAll(PDO::FETCH_ASSOC);
$open = array_reduce($orders, function ($num, array $order) {
return $num + (int)($order['status'] == 'OPEN');
}, 0);
以下是实际操作的方法:
$query = "SELECT COUNT(*) FROM orders WHERE status = 'OPEN'";