python - 使用 SQLAlchemy Core 选择多行中的第一行
问题描述
我正在尝试从 MSSQL 数据库中提取特定行。对于 和 的给定组合DistCode
,RtrId
我只想选择表格中出现的第一行,以及最新的日期。该表有 5 列 - DistCode(带 7 位条目)、RtrId(带 4 位条目)、X(带字符串)、类(带字符串)和 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 Core 中使用 func.max,我能够过滤到第 2 行和第 3 行,但是如何进一步仅恢复第 2 行。请仅使用 SqlAlchemy Core 提供输入。
解决方案
我想出了一种可能不太有效的方法,首先将 sql 数据库转换为 pandas 数据框,然后使用 groupby 和 first() 方法过滤我的数据。
我只希望 SQL 中有一个 func.first() 第一个选项。
那些帮助编辑我的问题的人以及那些试图在 SQLAlchemy Core 中破解它的人。
推荐阅读
- amazon-web-services - Postfix 发送短信 - Debian
- javascript - 如何将 .then() 函数的响应放入 module.exports 中?
- r - 如何在ggplot中指示y轴不是从0开始?
- ios - 动态表视图单元格和 IBOutlets - 以编程方式从 Stepper Inside Cell 保存数据
- sql - 如何将具有相同 ID 的行合并到一个列表中
- xcuitest - XCUITest - 单击主屏幕上的元素
- django - Django Storages 无法在 nginx 和 docker 配置中上传静态文件
- r - 神经网络 - 选择了未定义的列
- php - Laravel 预订系统设计
- javascript - Yeoman 生成器运行异步最佳实践