sql >> データベース >  >> RDS >> Mysql

OHLC-株式市場データを複数の時間枠にグループ化-Mysql

    これは古い質問ですが、これほど「単純な」解決策を見てください。始値と終値にはトリックがあります。あなたはそれが好きかもしれません。

    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  
    

    期間は秒単位です



    1. PLSQLでのリフレクション?

    2. mysql_real_escape_string()は実際に何をしますか?

    3. SQLiteDiskIOException:エラーコード10:ICSでのディスクI / Oエラーの再調整、およびDROPTABLEでのSamsungNexus

    4. mysqlはコンマ区切りのIDで2つのテーブルを結合します