Vincent Catalano
Vincent Catalano

Reputation: 2321

Using the OVER window function in SQLAlchemy

How would I get the total count of a limited result with SQLAlchemy. I am currently using Postgres so I know I can use windowed functions. I basically want to know how I would write the following in SQLAlchemy:

SELECT foo
  ,count(*) OVER() AS full_count
FROM   bar
ORDER  BY <some col>
LIMIT  <pagesize>
OFFSET <offset>

Upvotes: 6

Views: 5472

Answers (1)

sayap
sayap

Reputation: 6277

Something like:

select(
    [
        bar.c.foo,
        func.count().over().label('full_count'),
    ],
    ...
)

Ticket where this was introduced: http://www.sqlalchemy.org/trac/ticket/1844#comment:9

Upvotes: 3

Related Questions