使用SQLAlchemy过滤sql count(*)

时间:2012-01-14 20:52:47

标签: sql count sqlalchemy filtering

如何使用SQLAlchemy执行以下SQL查询?

SELECT COUNT (*)
FROM det_factura
WHERE company = 31
  AND date::text LIKE '2011-05% ';

1 个答案:

答案 0 :(得分:6)

如果det_factura也是映射对象,则此查询应执行此操作:

qry = (session.query(func.count(det_factura.id))
        .filter(det_factura.company==31)
        .filter(det_factura.date.like('2010-05%'))
        )

如果它是table个实例,则下面的实例应该有效:

qry = select([func.count(det_factura.id)],
        and_(det_factura.company==31,
             det_factura.date.like('2010-05%')
            )
        )