【问题标题】:Select rows that do NOT have a DISTINCT value in SQLALCHEMY选择 SQLALCHEMY 中没有 DISTINCT 值的行
【发布时间】:2020-10-22 06:23:35
【问题描述】:

有人可以建议一种方法来选择列没有唯一值的行吗? 我没有一个活跃的项目,这更像是我脑海中的一个问题。所以我没有要共享的数据库架构。

例如:如果我有 5 条记录,其中 1 条记录的 CustNo = 7,1 条记录的 CustNo = 9,以及 3 条记录的 CustNo = 11,我只想选择 CustNo = 的三行11

【问题讨论】:

  • 类似的东西肯定行不通>> Table.query.filter(~db.session.query(db.func.distinct(Table.CustNo))).all()

标签: sql database flask sqlalchemy flask-sqlalchemy


【解决方案1】:

您可以使用类似的 SQL 查询

SELECT * FROM invoice
WHERE CustNo IN (
    SELECT CustNo FROM invoice
    GROUP BY CustNo
    HAVING COUNT(*) > 1
)

在 SQLAlchemy 的 SQL 表达式语言中应该是

qry = invoice.select().where(
    invoice.c.CustNo.in_(
        select([invoice.c.CustNo])
        .group_by("CustNo")
        .having(func.count(text("*")) > 1)
    )
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 2022-10-24
    • 2019-05-07
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多