3 回答

TA貢獻1780條經(jīng)驗 獲得超1個贊
如果您只想顯示購買訂單,您只需要select通過獲取所有shares為正的行來過濾查詢
trades = db.execute("
SELECT * FROM transactions
WHERE user_id = :user_id AND shares > 0
ORDER BY transaction_id ASC",
user_id=session["user_id"]
)
但是,如果您想顯示每個股票/品種的總持有量,您可以使用group by子句并對shares列求和。
holdings = db.execute("
SELECT id, symbol, SUM(shares)
FROM transactions
WHERE user_id = :user_id
AND SUM(shares) > 0 -- Edit: Added this so it will only show stocks you own
GROUP BY symbol
ORDER BY transaction_id ASC",
user_id=session["user_id"]
)
旁注:我相信id你的第二個select查詢是錯誤的,你的意思是user_id(在WHERE id = :user_id部分)。

TA貢獻1794條經(jīng)驗 獲得超8個贊
你不能只是:
SELECT * FROM transactions WHERE id = :user_id and shares > 0 ORDER BY transaction_id ASC
獲得他們擁有的股份,然后shares < 0
獲得他們出售的股份?

TA貢獻1844條經(jīng)驗 獲得超8個贊
添加回答
舉報