我有一張名爲eod的表,並且有一個示例。SQL - 多個請求中只有一個
| 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
- 計數的行,其中開放>靠近
- 算上行,其中開<接近
- 爲每一天的次數,其中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關閉(SELECT MAX(CLOSE)FROM EOD GROUP BY DATE));
但是這一個不起作用,你能幫助我嗎? 我也認爲這些請求可以簡化,但我不知道如何。
你能告訴我們你試過什麼,所以我們可以指出任何可能的更正 – CloudyMarble 2013-04-11 09:59:17
我在我的第一篇文章中添加了它 – user2269756 2013-04-12 08:41:32
任何想法?在此先感謝 – user2269756 2013-04-15 06:09:53