将 postgresql 查询转换为 sqlalchemy
Convert postgersql query to sqlalchemy
我尝试将此 sql 查询转换为 sqlalchemy 或但不能。
SELECT AVG(value),
date_trunc('day', datetime) + (((date_part('hour', datetime)::integer / 5::integer) * 5::integer + 5::integer) || 'hours')::interval AS some_timestamp
FROM tablename
GROUP BY some_timestamp
ORDER BY some_timestamp;
我不明白如何将 postgresql:: 转换为 sqlalchemy 和 + 以及 ||
我的解决方案:
q = db.query(func.avg(Temperature.value).label('avg_value'),
(func.date_trunc('day', Temperature.date) +
cast(func.concat(
((cast(func.date_part('hour', Temperature.date), Integer) / cast(5, Integer))
* cast(5, Integer) + cast(5, Integer)), 'hours'), Interval))
.label("datetime")
).filter(Temperature.sensor_id == sensor_id,
Temperature.date >= since,
Temperature.date <= to).group_by('datetime').order_by('datetime')
我尝试将此 sql 查询转换为 sqlalchemy 或但不能。
SELECT AVG(value),
date_trunc('day', datetime) + (((date_part('hour', datetime)::integer / 5::integer) * 5::integer + 5::integer) || 'hours')::interval AS some_timestamp
FROM tablename
GROUP BY some_timestamp
ORDER BY some_timestamp;
我不明白如何将 postgresql:: 转换为 sqlalchemy 和 + 以及 ||
我的解决方案:
q = db.query(func.avg(Temperature.value).label('avg_value'),
(func.date_trunc('day', Temperature.date) +
cast(func.concat(
((cast(func.date_part('hour', Temperature.date), Integer) / cast(5, Integer))
* cast(5, Integer) + cast(5, Integer)), 'hours'), Interval))
.label("datetime")
).filter(Temperature.sensor_id == sensor_id,
Temperature.date >= since,
Temperature.date <= to).group_by('datetime').order_by('datetime')