上一章节介绍了基本的查找语句,我们可以通过查询出的数据,然后进行修改、删除数据等操作,本章介绍几个函数在
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、使用场景(登录的时候,手机号码、邮箱、用户名登录)