sqlalchemy in查询与聚合查询

in查询

db.query(UserAccount #模型名称).filter(account_type.in_(['1','2','3'])).all()

array_agg 聚合查询

db.query(func.min(UserAccount.username) # 去重,
func.array_agg(UserAccount.account_id) # 聚合) \
.filter(UserAccount.deleted == False,
UserAccount.account_type == account_type) \
.group_by(UserAccount.username) \
.all()

原始数据

username account_id
18331946590 1559641515
18331946590 1590949087
18331946590 1639294033
18331946590 1599305910

查询结果示例

username account_id
18331946590 1559641515,1590949087,1639294033,1599305910

注意

filter_by 和filter的区别
filter_by 不能使用范围查询,如in,这不需要带上模型名称,直接使用字段名字
filter 查询时需要带上模型名称

posted @   蒲公英PGY  阅读(593)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示