<>order_by(排序)
需要导包 from sqlalchemy import desc,asc 
 <>desc 降序
db.session.query().order_by(desc()).all() 
 <>asc升序
db.session.query().order_by(desc()).all() 
 <>limit (限制)
db.session.query().limit().all() 
 <>group_by(分组)
db.session.query().group_by().all() 
 <>func(聚合函数)
需要导包 from sqlalchemy import account,max,min,avg 
 <>count() (个数)
db.session.query(func.acount()).all() 
 <>max() or min() (最大值or最小值)
db.session.query(func.max()).all() db.session.query(func.max()).all() 
 <>avg() or sum() (平均值or求和)
db.session.query(func.avg()).all() 
 <>lower() (转小写)
db.session.query().filter(func.lower() == '').all() 
 <>干货
 <>cast() (强转)
db.session.query(func.cast('',Numeric(10))).all() 
 <>substr() (切割字符串,下标索引是从1开始)
db.session.query(func.substr('',start,length)).all() 
 <>返回结果集的第二项
user = session.query(User).get(2) 
 <>返回结果集中的第2-3项
users = session.query(User)[1:3] 
 <>查询条件
user = session.query(User).filter(User.id < 6).first() 
 <>只查询部分属性
users = session.query(User.name).order_by(desc(User.name)) for user in users: 
print user.name 
 <>给结果集的列取别名
users = session.query(User.name.label('user_name')).all() for user in users: 
print user.user_name 
 <>去重查询(需要导入distinct方法)
from sqlalchemy import distinct users = 
session.query(distinct(User.name).label('name')).all() 
 <>统计查询
user_count = session.query(User.name).order_by(User.name).count() age_avg = 
session.query(func.avg(User.age)).first() age_sum = 
session.query(func.sum(User.age)).first() 
 <>label(’’) (别名)
users = session.query(func.count(User.name).label('count'), 
User.age).group_by(User.age) for user in users: print 'age:{0}, 
count:{1}'.format(user.age, user.count) 
 <>exists查询(不存在则为~exists())
from sqlalchemy.sql import exists 
session.query(User.name).filter(~exists().where(User.role_id == Role.id)) 
SELECT name AS users_name FROM users WHERE NOT EXISTS (SELECT * FROM roles 
WHERE users.role_id = roles.id) 
 <>除了exists,any也可以表示EXISTS
session.query(Role).filter(Role.users.any()) 
 <>random
from sqlalchemy.sql.functions import random user = 
session.query(User).order_by(random()).all()