Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menghitung persentase kenaikan dari baris/hari sebelumnya setelah kompleks Group By?

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 ** :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Simpan kueri mysql ke file excel dari halaman web php

  2. Python &MySql:Unicode dan Encoding

  3. Mendapatkan baris pertama dari string sumber daya mysql?

  4. Permintaan agregasi AVG() yang sangat sederhana di server MySQL membutuhkan waktu yang sangat lama

  5. Mencari tutorial tentang cara membangun sistem pesan pribadi menggunakan PHP