【发布时间】:2014-07-25 02:10:18
【问题描述】:
我需要一些帮助来完成 SQL-Oracle 中的查询。我试图让它选择从 price1 到 price2 具有最高或最大收益的行或证券。这是我已经拥有的。当我尝试在 select 或 where 子句中使用子查询时,失败......而且我不能使用硬引用的查询,因为表中的数据会定期增加到 1000 个安全。任何帮助表示赞赏
我的查询:
select security,
price1,
price2,
((price2 - price1)/price1)*100 as Percentage
FROM market
我的表格和数据
CREATE TABLE market
(security VARCHAR2(30) PRIMARY KEY,
PRICE1 NUMBER(6, 2),
PRICE2 NUMBER(6, 2));
INSERT INTO market VALUES('A', 62, 178);
INSERT INTO market VALUES('B', 80, 328);
INSERT INTO market VALUES('C', 72, 736);
INSERT INTO market VALUES('D', 270, 565);
INSERT INTO market VALUES('E', 570, 665);
INSERT INTO market VALUES('F', 400, 1640);
INSERT INTO market VALUES('G', 800, 3280);
COMMIT;
【问题讨论】:
-
虽然您的示例没有显示它,但我假设每个单一证券将有多行具有不同的 price1/price2 值,对吗?
-
您想要变化百分比最高的证券(1 行代表您的“答案”,还是想要每个证券的最高百分比变化?
-
嗨布赖恩....对于这张桌子,只有 2 个价格。价格 1 和价格 2