2013-03-06 51 views
1

我有2个查询,低于该认定每月股票问题总结

QUERY1的平均价格:平均价格为一个月,从上午9:30至下午1:30

QUERY2:平均价格为一个月1.30时至下午2.30

我需要划分的差异和价格变化的百分比

QUERY1

--- 9.30 to 1.30 prices --- 

select DATE_FORMAT(transact_time,'%Y %M %d'),sum(price*qty)/sum(qty) 
from trades1 
where symbol='GREG.N0000' 
and transact_time between '2013-01-01' and '2013-01-31' 
and DATE_FORMAT(transact_time,'%T') between '09:30:00' and '13:30:00' 
group by DATE_FORMAT(transact_time,'%Y %M %d') 

QUERY2

--- 1.30 TO 2.30 prices --- 

SELECT DATE_FORMAT(transact_time,'%Y %M %d'),SUM(price*qty)/SUM(qty) 
FROM trades1 
WHERE symbol='GREG.N0000' 
AND transact_time BETWEEN '2013-01-01' AND '2013-01-31' 
AND DATE_FORMAT(transact_time,'%T') BETWEEN '13:30:00' AND '14:30:00' 
GROUP BY DATE_FORMAT(transact_time,'%Y %M %d') 

我需要QUERY1的结果,并QUERY2的结果和价格变化的百分比之差。有人请帮助我。

回答

1

您正在寻找这样的:

SELECT p1 - p2 , p2 /p1 FROM 
(select DATE_FORMAT(transact_time,'%Y %M %d') d1,sum(price*qty)/sum(qty) p1 
from trades1 
where symbol='GREG.N0000' 
and transact_time between '2013-01-01' and '2013-01-31' 
and DATE_FORMAT(transact_time,'%T') between '09:30:00' and '13:30:00' 
group by DATE_FORMAT(transact_time,'%Y %M %d')) t1 JOIN 
(
SELECT DATE_FORMAT(transact_time,'%Y %M %d') d2,SUM(price*qty)/SUM(qty) p2 
FROM trades1 
WHERE symbol='GREG.N0000' 
AND transact_time BETWEEN '2013-01-01' AND '2013-01-31' 
AND DATE_FORMAT(transact_time,'%T') BETWEEN '13:30:00' AND '14:30:00' 
GROUP BY DATE_FORMAT(transact_time,'%Y %M %d')) t2 ON t1.d1 = t2.d2 
+0

是它的工作原理,对我非常有帮助,非常感谢 – user1793864 2013-03-06 08:21:13

+0

所以,请标记为回答。谢谢,GL! – www 2013-03-06 08:24:34