[英]TypeError: object is not a function when defining models in NodeJs using Sequelize
[英]Group by in Sequelize when using a function
我想按函數返回的值分組,如下所示:
let noticesOpened = NoticeOpened.aggregate(
"id",
"COUNT", {
plain: false,
where: noticeWhere,
group: [sequelize.fn("date_trunc", "day", sequelize.col("created_at"))],
order: [
["created_at", "ASC"]
],
});
return noticesOpened;
當我嘗試這個查詢時,我得到:
SequelizeDatabaseError: column "notice_opened_tbl.created_at" must appear in the GROUP BY clause or be used in an aggregate function
有沒有辦法對返回的分組值進行升序?
您需要根據 group 子句中的函數結果進行排序,例如:
let noticesOpened = NoticeOpened.aggregate(
"id",
"COUNT", {
plain: false,
where: noticeWhere,
group: [sequelize.fn("date_trunc", "day", sequelize.col("created_at"))],
order: [
[sequelize.fn("date_trunc", "day", sequelize.col("created_at")), "ASC"]
],
});
return noticesOpened;
我想記住你可以使用 sequelize 別名來使這更容易,但沒有語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.