Python 如何在sqlalchemy子查询的外部查询中引用id

Python 如何在sqlalchemy子查询的外部查询中引用id,python,sql,sqlalchemy,psql,Python,Sql,Sqlalchemy,Psql,sql非常简单: select * from percentages rsp where customer_id in (123,555,100000) and date = ( select max(date) from percentages rsp2 where rsp2.customer_id = rsp.customer_id ) 我基本上希望在表中找到每个客户的最长日期,然后返回每个客户的所有行,以获得该客户的最长日期 我在sqlalchemy中尝试过这个,但似乎不起作用: p

sql非常简单:

select *
from percentages rsp 
where customer_id in (123,555,100000)
and date = (
 select max(date) from percentages rsp2 where rsp2.customer_id = rsp.customer_id
)
我基本上希望在表中找到每个客户的最长日期,然后返回每个客户的所有行,以获得该客户的最长日期

我在sqlalchemy中尝试过这个,但似乎不起作用:

percents = session.query(
            percentages.customer_id,
            percentages.type,
            percentages.percent,
            percentages.date
        ).filter(
            percentages.customer_id.in_(eligible_customers_ids),
            percentages.date == session.query(
                func.max(percentages.date)
            ).filter(
                percentages.customer_id == percentages.customer_id
            ).first()[0]
        ).all()
我很确定这一行在子查询的过滤器中
percentrates.customer\u id==percentrates.customer\u id
不工作。有什么想法我错过了,使其参考“当前客户id,我们正在寻找”