Silakan lihat referensi ini:SQLFIDDLE
Jadi tabel Anda saat ini dengan OHLC digunakan untuk menurunkan px_change, px_pct :)Hasil telah rounded
untuk menunjukkan 4 poin desimal dalam perubahan serta persentase.Null digunakan untuk menunjukkan tidak ada perubahan harga/persen karena null adalah representasi yang lebih baik dari tidak ada perubahan harga daripada tidak memiliki perubahan harga;)
Pertanyaan:
select ticker, date_format(date,'%m-%d-%Y') as date, open, high,low,close,
pxchange,concat(round(pxpct*100,4),'%') pxpct
from (select case when ticker <> @pxticker
then @pxclose := null end, p.*, ([email protected]) as pxchange,
([email protected])/@pxclose as pxpct, (@pxclose := close),
(@pxticker := ticker) from pricing p
cross join
(select @pxclose := null, @pxticker := ticker
from pricing
order by ticker, date limit 1) as a
order by ticker, date ) as b
order by ticker, date asc
Hasil:
TICKER DATE OPEN HIGH LOW CLOSE PXCHANGE PXPCT
AAAE 11-26-2012 0.01 0.01 0.01 0.01 (null) (null)
AAAE 11-27-2012 0.013 0.014 0.0083 0.014 0.004 40.0000%
AAAE 11-28-2012 0.014 0.0175 0.014 0.0165 0.0025 17.8571%
AAAE 11-29-2012 0.0175 0.0175 0.0137 0.0137 -0.0028 -16.9697%
AAMRQ 11-26-2012 0.4411 0.53 0.4411 0.529 (null) (null)
AAMRQ 11-27-2012 0.51 0.511 0.461 0.495 -0.034 -6.4272%
AAMRQ 11-28-2012 0.482 0.49 0.43 0.464 -0.031 -6.2626%
AAMRQ 11-29-2012 0.4505 0.459 0.4411 0.459 -0.005 -1.0776%
AAMRQ 11-30-2012 0.45 0.457 0.4455 0.4568 -0.0022 -0.4793%
** DIPERBARUI DENGAN GAMBAR UNTUK MENUNJUKKAN PARENTHESIS SESUAI PERMINTAAN OP DI KOMENTAR ** :)