我有一个查询,该查询基于创建月份对总任务进行计数,但是sqlalchemy给我带来以下错误:
sqlalchemy.exc.DatabaseError:(cx_Oracle.DatabaseError)ORA-00979
这是我的sqlalchemy查询:
tasks_by_month = (
db.session.query(
func.to_char(Task.creation_time, "MM").label("month"),
func.count(Task.id).label("count"),
)
.group_by(func.to_char(Task.creation_time, "MM"))
.order_by(text("month asc"))
.all()
)
这是sqldeveloper中的查询:
SELECT
TO_CHAR(TA.CREATION_TIME, 'MM') AS MONTH,
COUNT(TA.ID)
FROM
TASKS TA
GROUP BY
TO_CHAR(TA.CREATION_TIME, 'MM')
ORDER BY
MONTH
我期望得到以下结果
感谢帮助
答案 0 :(得分:1)
我设法通过将 func.to_char(Task.creation_time,“ MM”)。Label(“ month”)更改为 extract('month',Task.creation_time)来解决此问题).label(“ month”)。
tasks_by_month = (
db.session.query(
extract('month', Task.creation_time).label("month"),
func.count(Task.id).label("count"),
)
.group_by(extract('month', Task.creation_time))
.order_by(text("month asc"))
.all()
)
谢谢:)