我有点坚持我确信这是一个简单的解决方案。困境如下:
我有两个 mysql 表:
一个用于汽车(每个 car_id 都有 car_price_purchase/car_price_sold) 一个是费用(每笔费用都与汽车相关——expense_amount、expense_car_id)
我需要做的是将每辆车的所有费用相加,然后从购买价格中减去该费用加上出售价格,以获得总体利润。
这通常很容易做到,但我想按最终利润金额排序。
我是否只是将这些结果存储在一个数组中,然后对该数组进行排序? 或者我可以用更复杂的 order by 语句编写一个复杂的连接 mysql 查询吗??
感谢任何帮助。 谢谢 尼古拉斯
最佳答案
您目前是否正在将计算确定最终利润金额作为查询的一部分,或者随后在 php 中进行?我建议将数学作为查询的一部分,允许您在那里进行排序,即:
SELECT c.car_id,
(c.car_price_sold - (IFNULL(SUM(e.expense_amount), 0) + c.car_price_purchase)) as profit
FROM cars c
LEFT JOIN expenses e ON e.expense_car_id = c.car_id
GROUP BY c.car_id
ORDER BY profit
关于php - 组合两个表以按成本减去费用进行排序 - 需要复杂的 order by 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4475337/