PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

एक चलती औसत बनाने के लिए SQLAlchemy में उपश्रेणियों का उपयोग कैसे करें?

ठीक है, जाहिरा तौर पर मुझे एक तथाकथित scalar के उपयोग की आवश्यकता थी चुनें . उन लोगों के उपयोग के साथ मुझे यह पायथन कोड मिलता है, जो वास्तव में काम करता है जैसा मैं चाहता हूं (मेरे प्रश्न में पहले के बराबर एसक्यूएल उत्पन्न करता है जो मेरा लक्ष्य था):

moving_average_days = # configurable value, defaulting to 5
ndays = # configurable value, defaulting to 90
t1 = Measurements.alias('t1') ######
t2 = Measurements.alias('t2')
query = select([t1.c.time, t1.c.value,
                    select([func.avg(t2.c.value)],
                        t2.c.time.between(t1.c.time - datetime.timedelta(moving_average_days), t1.c.time)).label('moving_average')],
            t1.c.time > (datetime.datetime.utcnow() - datetime.timedelta(ndays))). \
        order_by(t1.c.time)

यह यह SQL देता है:

SELECT t1.time, t1.value,
    (
        SELECT avg(t2.value) AS avg_1
        FROM measurements AS t2 
        WHERE t2.time BETWEEN t1.time - :time_1 AND t1.time
    ) AS moving_average 
FROM measurements AS t1
WHERE t1.time > :time_2 ORDER BY t1.time;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL, न्यूनतम, अधिकतम और सीमा में तिथियों की संख्या

  2. PostgreSQL:अद्वितीय उल्लंघन:7 त्रुटि:डुप्लिकेट कुंजी मान अद्वितीय बाधा का उल्लंघन करता है users_pkey

  3. Postgresql 9.x:`xpath_exists` (XMLEXISTS) प्रश्नों को अनुकूलित करने के लिए अनुक्रमणिका

  4. क्यों pg_restore सफलतापूर्वक लौट रहा है लेकिन वास्तव में मेरे डेटाबेस को पुनर्स्थापित नहीं कर रहा है?

  5. त्रुटि:तालिका पर अद्यतन या हटाएं उपयोगकर्ता तालिका टिप्पणियों पर विदेशी कुंजी बाधा fk_rails_03de2dc08c का उल्लंघन करते हैं