我有一张名为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