使用SQLAlchemy C选择多行中的第一行

2024-10-06 11:18:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从MSSQL数据库中提取特定的行。对于给定的DistCodeRtrId组合,我只想选择表中出现的第一行,以及最新的日期。该表有5列-DistCode(带7位输入)、RtrId(带4位输入)、X(带字符串)、Class(带字符串)和CreatedDate(带yyyy-mm-dd)。抱歉,我的格式很糟糕-第一次尝试这么做。你知道吗

从下表中,我希望只选择第2行,也就是说,因为它有最新的日期,而且恰好是CreatedDate选项中的第一个。你知道吗

DistCode    RtrId   X   Class   CreatedDate
1001885     5085    GT  BR      16-07-17

表数据如下所示:

DistCode    RtrId   X   Class   CreatedDate
1001885     5085    GT  BR  2016-03-05
1001885     5085    GT  BR  2016-07-17
1001885     5085    GT  OT  2016-07-17
1001885     5085    GT  BR  2016-05-05

你知道吗

dr1=select([dr.c.DistCode, dr.c.RtrId, dr.c.X, dr.c.Class, func.max(dr.c.CreatedDate).label('latest_Date')]).group_by(dr.c.DistCode, dr.c.RtrId, dr.c.X , dr.c.Class).distinct()

使用函数最大值在SQLAlchemy核心中,我可以过滤到第2行和第3行,但如何进一步只恢复第2行。请仅使用SqlAlchemy核心提供输入。你知道吗


Tags: 字符串brgt数据库核心格式ddclass
1条回答
网友
1楼 · 发布于 2024-10-06 11:18:15

我想到了一种可能效率不高的方法,首先将sql数据库转换为一个dataframe,然后使用groupby和first()方法过滤数据。你知道吗

我只希望有一个职能优先()SQL中的第一个选项。你知道吗

感谢所有帮助编辑我的问题的人,以及那些试图在SQLAlchemy核心中破解它的人。你知道吗

相关问题 更多 >