Sqlalchemy: Get Max/Min/Avg Values from a Table

Sqlalchemy: Get Max/Min/Avg Values from a Table

I have this query:

mps =   (
            session.query(mps)  .filter_by(idc = int(c.idc))
                                .filter_by(idmp = int(m.idmp))
                                .group_by(func.day(mps.tschecked))
        ).all()

My problem is, that I don't know how to extract (with sqlalchemy) the max/min/avg value from a table...

I find this: Database-Independent MAX() Function in SQLAlchemy

But I don't know where to use this

Can someone tell me how to do this? Can you give me an example?

4

2 Answers

The following functions are available with from sqlalchemy import func:

  • func.min
  • func.max
  • func.avg

Documentation is available here.

You can use them i.e. in the query() method.

Example:

session.query(self.stats.c.ID, func.max(self.stats.c.STA_DATE))

(just like you use aggregate functions in plain SQL)

1

Or just use an order_by() and select the first or last element. . .

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Marcus Vance
Author

Marcus Vance

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.