【问题标题】:SQLAlchemy Query API and calculated fieldsSQLAlchemy 查询 API 和计算字段
【发布时间】:2020-06-30 13:49:25
【问题描述】:

假设我想在 SQLite3 数据库上进行这样的查询:

SELECT (2 * value) COUNT(2 * value) FROM data GROUP BY (2 * value)

几个问题:

  • 这样的查询有更好的方法吗?
  • 使用 SqlAlchemy 的查询 API 时如何创建列?

关于第二点,我可以这样做:

query = query.add_columns(2 * data.value)
query = query.add_columns(func.count(2 * data.value))
query = query.group_by(2 * data.value)

我想知道是否有更简单/更好的方法来定义2 * data.value。我的实际查询表达式比这要复杂一些。

【问题讨论】:

    标签: python sql sqlite sqlalchemy


    【解决方案1】:

    你可以创建变量

    double = Data.value * 2
    q = session.query(double, func.count(double)).group_by(double)
    

    【讨论】:

    • 好吧,我该死的——它确实有效。现在我不认为你知道如何使用.add_columns() 来做到这一点?我无法以这种方式工作。
    猜你喜欢
    • 2022-01-24
    • 2017-04-28
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 2014-11-12
    • 1970-01-01
    相关资源
    最近更新 更多