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 の行を数える
- open < close の行を数えます
- 各日について、company_symbol が最高の終値を示した回数
- 各日について、company_symbol の終値が最も低かった回数
必要な情報を取得しようとしましたが、成功しませんでした。1 回のリクエストで 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 CLOSE IN (SELECT max(CLOSE) FROM eod GROUP BY DATE));
しかし、これはうまくいきません。これで私を助けてくれませんか? また、これらのリクエストは簡素化できると思いますが、方法がわかりません。