比方说,我有一个公司,每排结构等之间的存储数据的表:有条件的MySQL选择SUM更改列的符号被总结
(int) buyerId | (int) sellerId | (float) transactionAmount
我想带一个特定的公司ID和找出哪家公司他们有最单方面的净交易记录。例如,A公司的ID为100.我想知道哪家公司的销售净值最高 - 购买。如果表中的数据如下:
buyerID sellerId transactionAmount
100 200 10.00
200 100 5.00
100 300 1.00
公司100已经购买的商品的$ 10.00,从公司200和200公司已经购买商品的$ 5.00,从公司100 $ 5.00的总净交易价值。 100公司的净交易价值为300,但不到5.00美元,我对这里的最高价格感兴趣。
是否有一个MySQL查询我可以用它来找到这个$ 5.00总和($ 10.00 +( - $ 5.00)),其中在transactionAmount字段中的值可以更改为正/负取决于哪个公司是买家和公司卖家?或者我需要获取所有相关的行并计算出代码中的最大值?
谢谢!
非常感谢!另外,我没有提到它,但我也对每家公司的总金额感兴趣。对于此问题的任何未来读者,上面的查询可以做如下修改: 'SELECT IF(buyerID = 100,sellerID,buyerID)AS other_company, SUM(IF(buyerID = 100,transactionAmount,transactionAmount * -1))AS netSum 从交易 WHERE 100(buyerID,sellerID) GROUP BY other_company ORDER BY netSum DESC LIMIT 1' – stackunderflow 2012-07-10 06:00:33
@stackunderflow,太棒了!很高兴听到它适合你。我刚刚更新了我的答案,在选择中包含了“SUM”数量。 – 2012-07-10 06:15:52