python - 如何使用 SQLAlchemy 在 Postgres 中执行 date_trunc 查询

标签 python sql postgresql sqlalchemy

我似乎无法将以下查询转换为 SQLAlchemy。

我想翻译以下查询:

SELECT date_trunc('day', time), "PositionReport".callsign FROM tvh_aircraft."PositionReport" WHERE "PositionReport".reg = 'PH-BVA'
GROUP BY 1, "PositionReport".callsign

我尝试了以下方法,但没有成功。

flight_days = session\
        .query(PositionReport)\
        .filter(PositionReport.reg == reg) \
        .group_by(func.date_trunc('day', PositionReport.time))\
        .group_by('1')\
        .all()

    trunc_date = func.date_trunc('day', PositionReport.time)
    flight_days = session.query(trunc_date, PositionReport.callsign) \
        .filter(PositionReport.reg == reg) \
        .group_by("date_trunc_1")

在此先感谢您的帮助。

最佳答案

session.query(func.date_trunc('day', PositionReport.time), 
              PositionReport.callsign) \
    .filter(PositionReport.reg=='PH-BVA') \
    .group_by(func.date_trunc('day', PositionReport.time),
              PositionReport.callsign).all()

或者如果您恰好需要 GROUP BY 1

from sqlalchemy import text

session.query(func.date_trunc('day', PositionReport.time), 
              PositionReport.callsign) \
    .filter(PositionReport.reg=='PH-BVA') \
    .group_by(text('1'),
              PositionReport.callsign).all()

关于python - 如何使用 SQLAlchemy 在 Postgres 中执行 date_trunc 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52952734/

相关文章:

mysql - SQL将空值之和转换为0

php - mysql 分页 - 避免向客户端丢失或重复数据

mysql - 查询显示请求次数少于3次的服务

python - 向 Django 数据库添加元素

postgresql - 创建自定义的postgresql slave

python - 如何通过构造简单的 pandas Series 来定义正确的索引?

python - 使用 Django 中的 ManyToManyField 的特定参数在表单中自定义查询

python - 使用python在elasticsearch-dsl中聚合一个字段

Python Selenium 网页抓取 - 隐藏文本/Javascript?

postgresql - Amazon Aurora PostgreSQL 选择进入 OUTFILE S3