Mysql 使用group by将范围内的最大值与特定日期进行比较

Mysql 使用group by将范围内的最大值与特定日期进行比较,mysql,Mysql,我希望mysql查询检查结束日期的高值是否大于从结束日期起一年内的所有高值-该符号为1天 MAX与group by进行比较,并使用正确的符号进行检查以进行比较。我该怎么做呢 我的表格结构是: id Symbol date high 1 ABC 2015-01-23 45 2 ABC 2015-01-22 40 3 ABC 2014-01-28 33 4 xyz 2015-01-23 37 5 xyz 2015-01-20

我希望mysql查询检查结束日期的高值是否大于从结束日期起一年内的所有高值-该符号为1天

MAX与group by进行比较,并使用正确的符号进行检查以进行比较。我该怎么做呢

我的表格结构是:

id  Symbol date        high
1   ABC    2015-01-23  45
2   ABC    2015-01-22  40
3   ABC    2014-01-28  33
4   xyz    2015-01-23  37
5   xyz    2015-01-20  70
6   ANO    2015-01-20  170
7   JE     2015-01-25  560
8   JE     2015-01-23  770


SELECT `symbol`,`high` as current_high from history as h 
where date='2015-01-23' 
AND symbol = 'ABC';

SELECT `date`,`symbol`, MAX(`high`) as 1_yrhigh from history 
where date between '2014-01-23' 
and '2015-01-22' AND symbol='ABC'
如果当前_高>1年_高,则需要结果

所以从上面的示例表的查询结果应该是

1 ABC    2015-01-23  45

8 JE    2015-01-23  770
xyz不显示为
37
ie 70


ANO不显示,因为2015-01-23无记录存在

,以便获得以下查询中每个符号使用的当前高点

Select symbol,MAX(high) as currentHigh
From table
Where date=CURDATE()
Group By symbol
Select symbol,MAX(high) as lastOneYrHigh
From table
Where date between (CURDATE()-INTERVAL 1 DAY-INTERVAL 1 YEAR)-(CURDATE() - INTERVAL 1 DAY)  
Group By symbol 
为了获得除当前日期外的上一年高点,请使用下面的查询

Select symbol,MAX(high) as currentHigh
From table
Where date=CURDATE()
Group By symbol
Select symbol,MAX(high) as lastOneYrHigh
From table
Where date between (CURDATE()-INTERVAL 1 DAY-INTERVAL 1 YEAR)-(CURDATE() - INTERVAL 1 DAY)  
Group By symbol 

我能从一个查询中同时得到两个结果吗