上一章节介绍了基本的查找语句,我们可以通过查询出的数据,然后进行修改、删除数据等操作,本章介绍几个函数在
sqlalchemy
中的使用。
1、count()
计数函数
... def query_user(): rows = dbSession.query(UserModule).count() print(rows) ...
2、导包
from sqlalchemy import func, extract
3、分组计数
... def query_user(): rows = dbSession.query(func.count(UserModule.user_name), UserModule.user_name).group_by(UserModule.user_name).all() print(rows) ... # [(1, '王五'), (1, '马六'), (1, '赵五'), (1, '王二')]
4、行内计数
... def query_user(): # rows = dbSession.query(func.count('*')).select_from(UserModule).scalar() rows = dbSession.query(func.count(UserModule.id)).scalar() print(rows) ...
5、having
是对查找结果进一步过滤
... def query_user(): rows = dbSession.query(UserModule.password, func.count(UserModule.id)).group_by(UserModule.password).having( func.count(UserModule.id) > 1).all() print(rows) ...
1、func.sum
求和
... def query_user(): rows = dbSession.query(UserModule.password, func.sum(UserModule.id)).group_by(UserModule.password).all() print(rows) ...
2、func.max
求最大值
3、func.min
求最小值
1、导包
from sqlalchemy import or_
2、使用
def query_user(): rows = dbSession.query(UserModule).filter(or_(UserModule.user_name == '王五', UserModule.user_name == '王二')).all() print(rows)
3、使用场景(登录的时候,手机号码、邮箱、用户名登录)