【发布时间】:2021-06-07 19:15:06
【问题描述】:
我有一个包含数千行的表。我想使用 in 子句删除多行。
SQL 服务器代码:
DELETE tbl_Jenny_ACW_AG2_AGENT_DAY_Genesys_Stage
WHERE Avaya_Id IN ('','',''....'')
我正在尝试使用 SQLAlchemy 执行上述操作,
qry = (session.query(
tbl_Jenny_ACW_AG2_AGENT_DAY_Genesys_Stage.c.Avaya_Id,
func.count(),
)
.group_by(
tbl_Jenny_ACW_AG2_AGENT_DAY_Genesys_Stage.c.Avaya_Id,
)
# comment this line out to see all the groups
.having(func.count()>1)
)
dlt_dup = tbl_Jenny_ACW_AG2_AGENT_DAY_Genesys_Stage.delete().where(tbl_Jenny_ACW_AG2_AGENT_DAY_Genesys_Stage.c.Avaya_Id.in_(qry))
session.execute(dlt_dup)
以上代码将查询结果并执行查询。但是,我无法删除重复记录,我得到的错误是 [参数:(1,)]
【问题讨论】:
标签: python sql-server pandas sqlalchemy flask-sqlalchemy