gpt4 book ai didi

python - SqlAlchemy group_by 并返回最大日期

转载 作者:行者123 更新时间:2023-11-28 19:53:15 26 4
gpt4 key购买 nike

我有这样一张 table

identifier date        value
A 2017-01-01 2
A 2017-01-02 1
A 2017-01-03 7
B 2017-01-01 2
B 2017-01-02 7
B 2017-01-03 3

我正在尝试选择每个标识符的最大日期,例如我得到的:

identifier date        value
A 2017-01-03 7
B 2017-01-03 3

谢谢

最佳答案

使用子查询:

SELECT t1.identifier, t1.date, t1.value FROM table t1
JOIN
(
SELECT identifier, MAX(date) maxdate
FROM table
GROUP BY identifier
) t2
ON t1.identifier = t2.identifier AND t1.date = t2.maxdate;

在 SQLAlchemy 中:

from sqlalchemy import func, and_

subq = session.query(
Table.identifier,
func.max(Table.date).label('maxdate')
).group_by(Table.identifier).subquery('t2')

query = session.query(Table).join(
subq,
and_(
Table.identifier == subq.c.identifier,
Table.date == subq.c.maxdate
)
)

关于python - SqlAlchemy group_by 并返回最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45775724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com