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

Kelompokkan Data OHLC-Stockmarket ke dalam beberapa kerangka waktu - Mysql

Saya tahu ini adalah pertanyaan lama, tetapi lihat solusi yang jauh lebih "sederhana" ini. Ada trik untuk membuka dan menutup harga. Anda mungkin menyukainya.

SELECT
  FLOOR(MIN(`timestamp`)/"+period+")*"+period+" AS timestamp,
  SUM(amount) AS volume,
  SUM(price*amount)/sum(amount) AS wavg_price,
  SUBSTRING_INDEX(MIN(CONCAT(`timestamp`, '_', price)), '_', -1) AS `open`,
  MAX(price) AS high,
  MIN(price) AS low,
  SUBSTRING_INDEX(MAX(CONCAT(`timestamp`, '_', price)), '_', -1) AS `close`
FROM transactions_history -- this table has 3 columns (timestamp, amount, price)
GROUP BY FLOOR(`timestamp`/"+period+")
ORDER BY timestamp  

periode dalam detik



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mana yang lebih cepat:beberapa INSERT tunggal atau satu INSERT beberapa baris?

  2. MySql dengan kesalahan JAVA. Paket terakhir yang berhasil dikirim ke server adalah 0 milidetik yang lalu

  3. Membandingkan Waktu Failover Proxy Basis Data - ProxySQL, MaxScale, dan HAProxy

  4. Replikasi Cloud Hybrid untuk MySQL untuk Ketersediaan Tinggi

  5. permata mysql2 dikompilasi untuk perpustakaan klien mysql yang salah