Files
Fulfillment-Backend/services/statistics/common.py
2024-11-26 01:36:59 +04:00

20 lines
572 B
Python

from datetime import date
from sqlalchemy import select, func, literal, text, cast, CTE
from sqlalchemy.dialects.postgresql import TIMESTAMP
def generate_date_range(date_from: date, date_to: date, additional_columns: list[str]) -> CTE:
cols = [literal(0).label(col_label) for col_label in additional_columns]
return select(
cast(
func.generate_series(
date_from,
date_to,
text("'1 day'")
),
TIMESTAMP(timezone=False)
).label("date"),
*cols,
).cte()