Convert SQLAlchemy core statement into raw SQL string

August 11, 2022

from sqlalchemy import func, select
from sqlalchemy.dialects import mssql
 
 
stmt = (
    select(
        [
            UserDataHistory.object,
            UserDataHistory.metric,
            func.max(UserDataHistory.date).label("max_date"),
        ]
    )
    .filter(*[UserDataHistory.object.in_(objects)])
    .group_by(UserDataHistory.object, UserDataHistory.metric)
)
 
print(str(stmt.compile(dialect=mssql.dialect())))