将两个表组合起来按成本减去费用 - 需要复杂的按顺序排序?

时间:2010-12-17 22:33:43

标签: php mysql sql sql-order-by

我有点坚持我很确定这是一个简单的解决方案。这就是困境:

我有两个mysql表:

一辆汽车(每辆car_id都有car_price_purchase / car_price_sold) 一个用于支出(每个费用附在汽车上 - expense_amount,expense_car_id)

我需要做的是将每辆车的所有费用加起来,然后从购买的价格中减去加上售出的价格,以获得整体利润。

一般来说这很容易做,但我想按最终利润金额排序

我只是将这些结果存储在一个数组中,然后对该数组进行排序吗? 或者我可以通过语句编写一个复杂的连接mysql查询以及更复杂的顺序吗?

感谢任何帮助。 谢谢 尼古拉斯

2 个答案:

答案 0 :(得分:1)

您目前是否正在进行数学运算以确定最终利润金额作为查询的一部分,或之后在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

答案 1 :(得分:0)

以下是我发现看起来很有希望的代码组:

SELECT user_1.username, Count(user.refid) AS CountOfrefid
FROM [user] LEFT JOIN [user] AS user_1 ON user.refid = user_1.userid
GROUP BY user_1.username order by Count(user.refid);

仍然需要解密它:)并查看它是否有效

感谢 尼古拉斯