此问题的“最后一次价格变化的百分比变化”部分存在问题。可能以前有人问过这个问题,但是答案对我来说没有意义。我已经完成了它要求的其他部分,但是这一部分。我真的不知道如何显示这种情况下的百分比变化。我尝试了(stock_price.price * 100)/MAX(trade.transaction_time)
,但这没有意义,因为transaction_time是日期,而不是像stock_price.price
这样的数字值。 ERD和下面的问题。有什么建议么?我正在使用Oracle SQL Developer
列出所有可用的公司。显示公司名称,股东交易量,当前价格和最后一次价格变动的百分比变化,然后按股东交易量的降序对输出进行排序。
SELECT
stock_price.price current_price,
company.stock_id,
company.name AS company_name,
trade.shares AS trade_volume,
MAX(trade.transaction_time) most_recent_trade,
SUM(trade.transaction_time/trade.transaction_time) AS "% Change in Price"
FROM stock_price
JOIN company
ON company.stock_id = stock_price.stock_id
INNER JOIN trade
ON trade.stock_id = company.stock_id
WHERE stock_price.stock_ex_id = 3
AND trade.transaction_time < trade.transaction_time
GROUP BY stock_price.price, company.stock_id, company.name, trade.shares
ORDER BY trade.shares, stock_price.price, company.stock_id, company.name DESC;