gpt4 book ai didi

sql - Sequelize Postgres - 选择不在 groupby 中的字段

转载 作者:行者123 更新时间:2023-12-03 22:36:28 25 4
gpt4 key购买 nike

Offer.findAll({
where: {
userId: id
},
attributes: [
"productDetailId",
"id",
"createdAt",
"userId",
[Sequelize.fn("MAX", Sequelize.col("offerPrice")), "offerPrice"]
],
group: ["productDetailId"],
include: [
{
model: ProductDetail
}
]
})

我有上面的 sequelize 查询,它旨在为每个 offer 找到具有最大 offerPriceProductDetail 并按 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",

最佳答案

我有一个类似的问题,按 select 中的所有列分组不是一个案例。

您需要使用其名称和表名按列分组,因此

...
group: ["productDetail.productDetailId"],
...

关于sql - Sequelize Postgres - 选择不在 groupby 中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59674417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com