Я хочу напечатать значение из запроса sqlalchemy агрегированной функции в python - flask - PullRequest
0 голосов
/ 03 августа 2020
result_1 = Attendance.query.with_entities(Attendance.month, Attendance.year, Attendance.emp_id, func.count(Attendance.status)).filter(and_(Attendance.month == month, Attendance.year == year, Attendance.status == 'Present')).group_by(Attendance.emp_id,Attendance.month,Attendance.year).all()
    #print(len(result_1))
    for r in result_1:
        print(r.month)
        print(r.year)
        print(r.emp_id)
        #print(r.count)

Здесь я могу напечатать все значения месяца, года и идентификатора, но как я могу распечатать значение count?

1 Ответ

0 голосов
/ 05 августа 2020

Попробуйте это ... используйте .label(), чтобы дать столбцу имя, а затем используйте его позже

result_1 = Attendance.query.with_entities(Attendance.month, Attendance.year, Attendance.emp_id, func.count(Attendance.status).label('status_count'))
    .filter(and_(Attendance.month == month, Attendance.year == year, Attendance.status == 'Present'))
    .group_by(Attendance.emp_id,Attendance.month,Attendance.year).all()
for r in result_1:
    print(r.month)
    print(r.year)
    print(r.emp_id)
    print(r.status_count)
...