sum, avg, count, max, group_by, distinct SQLAlchemy

       


        from sqlalchemy import func

        #rows = session.query(Person).count()

        c.count = Session.query(func.count(Person.id)).scalar()

        c.avg = Session.query(func.avg(Person.id).label('average')).scalar()
       
        c.sum = Session.query(func.sum(Person.id).label('average')).scalar()
        
        c.max = Session.query(func.max(Person.id).label('average')).scalar() 


Group by

c.coutg = Session.query(func.count(Person.id).label('count'), Person.name ).group_by(Person.name).all()

templet:

Group count
 <br>
count g
<table  border="1">
% for a in c.coutg:
    <tr>
        
        <td>${ a.name } </td> <td> ${ a.count }</td>
    </tr>
% endfor

Distinct

from sqlalchemy import distinct

# count distinct "name" values
session.query(func.count(distinct(User.name)))
Author: bm on September 12, 2014
Category: SQLAlchemy