Offer.findAll({
where: {
userId: id
},
attributes: [
"productDetailId",
"id",
"createdAt",
"userId",
[Sequelize.fn("MAX", Sequelize.col("offerPrice")), "offerPrice"]
],
group: ["productDetailId"],
include: [
{
model: ProductDetail
}
]
})
У меня есть вышеуказанный запрос sequelize
, цель которого найти offer
с максимальным offerPrice
для каждого ProductDetail
и сгруппировать результаты по productDetailId
. Выше работает в mysql
, но выдает ошибку в postgres
. Я подозреваю, что это потому, что оператор select
содержит поля, которых нет в group by
, что не разрешено postgres
, но я не уверен, как это обновить.
ОБНОВЛЕНИЕ:
Сообщение об ошибке:
error": {
"name": "SequelizeDatabaseError",
"parent": {
"name": "error",
"length": 169,
"severity": "ERROR",
"code": "42803",
"position": "43",
"file": "parse_agg.c",
"line": "1388",
"routine": "check_ungrouped_columns_walker",