Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql में सभी प्रश्नों को लॉग करें

  2. जब आप उपयोगकर्ता साइनअप पर सबडोमेन स्वतः बनाते हैं तो क्या यह एक नई वेबसाइट बनाता है या किसी वेबसाइट का रूप देता है?

  3. कोडनिर्देशक - डेटाबेस:एकल अद्यतन क्वेरी के साथ एकाधिक तालिकाओं को कैसे अद्यतन करें

  4. Django mysqlclient स्थापित करें

  5. एक तालिका से सभी अभिलेखों का चयन करें जो Laravel 5.1 में किसी अन्य तालिका में मौजूद नहीं हैं