1

以下のような 2 つのクエリがあり、1 か月あたりの平均株価が表示されます。

query1: 午前 9 時 30 分から午後 1 時 30 分までの 1 か月の平均価格

query2: 午前 1 時 30 分から午後 2 時 30 分までの 1 か月の平均価格

差額と価格変更率を分割する必要があります

クエリ1

--- 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')

クエリ2

--- 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')

クエリ 1 の結果とクエリ 2 の結果の差と、価格の変更率を取得する必要があります。誰かがこれで私を助けてください。

4

1 に答える 1

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
于 2013-03-06T07:15:31.060 に答える