2016-05-26 48 views
1

不SQLAlchemy的具有在array_length查詢要使用的功能?SQLAlchemy的array_length功能

即:

ssn.query(models.MedicationLog.dose_date, 
         func.array_length(models.MedicationLog. 
            dose_taken_times).label('dose_taken_times')) 
+0

你是指長度或['array_agg'](http://docs.sqlalchemy.org/en/latest /dialects/postgresql.html#sqlalchemy.dialects.postgresql.array_agg)?這裏是關於如何使用這個的[SO Post](http://postoverflow.com/a/23262484/2549021)。 – AKS

+0

長度。由於計數不會給出數組的長度。但讓我檢查彙總。感謝@AKS – Chathuranga

+2

['array_length'](https://www.postgresql.org/docs/9.5/static/functions-array.html#ARRAY-FUNCTIONS-TABLE)採用兩個參數'array_length(數組,dimension)' – AKS

回答

2

用最大的固定,並array_length

data = ssn.query(models.MedicationLog.dose_date, 
         func.sum(func.array_length(
          models.MedicationLog.dose_taken_times, ARRAY_DEPTH 
         )).label('dose_taken_times')).order_by(models.MedicationLog.dose_date).\ 
     group_by(models.MedicationLog.dose_date).all()