我有这样的查询:
$query = "SELECT * FROM `profit_by_campaign` WHERE campaign_name = 'myCoolCampaign' AND request_date = '2017-10-16'";
try {
$stmt = $this->dbh->prepare($query);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
catch(PDOException $e) {
die('Error: unable to query ' . $e->getMessage());
}
在获取结果后,我做了一些逻辑:
$total_revenue = 0;
$total_spending = 0;
foreach($rows as $row) {
$total_revenue += $row['revenue'];
$total_spending += $row['spending'];
}
$total_profit = ($total_revenue - $total_spending);
echo $total_profit;
所以基本上我试图通过从它的收入中减去它的支出来获得一个活动的总利润。我的问题是,是否可以直接在MYSQL查询本身而不是在PHP中执行此逻辑?
答案 0 :(得分:7)
尝试此查询:
SELECT SUM(revenue - spending) AS profit
FROM profit_by_campaign
WHERE
campaign_name = 'myCoolCampaign' AND
request_date = '2017-10-16';