簡體   English   中英

MYSQL選擇與SUM不同

[英]MYSQL Select Distinct with SUM

我正在開發一個Stocks管理應用程序,Portfolio寄存器表有4列,除了date和Registry_key之外,它看起來像這樣:

----------------------------------------
| stock_key | user_key | units | price |
----------------------------------------
| fund_a    | user_1   | 1000  | 100.35|
| fund_c    | user_2   | 4000  | 101.55|
| fund_d    | user_3   | 2000  | 105.65|
| fund_a    | user_1   | 1500  | 101.45|
| fund_b    | user_1   | 500   | 103.35|
----------------------------------------

我希望選擇具有不同stock_key的user_1的投資組合。 例如:

對於user_1,結果應為:

[ 
    {fund_key: "fund_a", units: sum(1000,1500), price: sum(100.35,101.45)},
    {fund_key: "fund_b", units: 500, price: 103.35}
]

希望這個問題是可以理解的。 謝謝。

第二階段

我需要價格作為支付的總數超過單位數量的價格。 因此,對於user_1來說,結果將是:

[ 
    {fund_key: "fund_a", units: sum(1000,1500), price: sum(1000*100.35,1500*101.45)/sum(1000,1500)},
    {fund_key: "fund_b", units: 500, price: 103.35}
]

這很重要,因為一旦用戶以比以前更低/更高的價格帶來了更多單位的相同股票,則累計股票價格將被平均。

謝謝。

因此,請嘗試:

SELECT stock_key, SUM(units), SUM(units * price) / SUM(units) 
FROM Portfolio 
WHERE user_key = 'user_1' 
GROUP BY stock_key;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM