我有一个名为 eod 的表,并且有一个示例。
| eod_id | company_symbol | date | open | close | high | low |
| 1 | AAA | 01-01-2000 | 40.00 | 42.00 | 43.00 | 39.00 |
对于给定的 company_symbol,我想:
- 计算(打开某个日期)/(关闭另一个日期)- 1
- 计算打开>关闭的行
- 计算 open < close 的行数
- 每天,company_symbol 收盘价最高的次数
- 每天,company_symbol 收盘价最低的次数
我试图获取我想要的信息,但没有成功。是否可以仅在一个请求中获取 5 个信息?
希望你能帮助我,谢谢,
史蒂夫
PS:我尝试了什么:
1.
SELECT (SELECT OPEN FROM eod WHERE company_symbol="AAPL" AND DATE="2013-04-05")
/ (SELECT OPEN FROM eod WHERE company_symbol="AAPL" AND DATE="2000-01-03") - 1;
2.
SELECT COUNT(*) FROM eod WHERE company_symbol="AAPL" AND CLOSE>OPEN;
3.
SELECT COUNT(*) FROM eod WHERE company_symbol="AAPL" AND CLOSE<OPEN;
SELECT COUNT(*) FROM EOD WHERE company_symbol IN (SELECT company_symbol FROM eod WHERE IN (SELECT max(CLOSE) FROM eod GROUP BY DATE));
但是这个不起作用,你能帮我解决这个问题吗?我也认为这些请求可以简化,但我不知道如何。