当聚合函数为空时,Sequelize 获取结果
Posted
技术标签:
【中文标题】当聚合函数为空时,Sequelize 获取结果【英文标题】:Sequelize get results when aggregate function is null 【发布时间】:2021-02-11 08:58:40 【问题描述】:我有以下返回客户的代码。问题是我只为已下订单并创建地址的客户获得结果。
CustomerModel.findAll(
attributes:
include: [
[db.sequelize.fn("COUNT", db.sequelize.col("orders.id")), "orderCount"],
[db.sequelize.literal(`(
SELECT o.createdDate
FROM orders AS o
WHERE
o.customerId = customer.id
ORDER BY o.createdDate DESC
LIMIT 1
)`),
'latestOrderDate'],
[db.sequelize.fn('sum', db.sequelize.col('orders.amount')), 'totalAmount'],
]
,
include: [
model: UserModel, as: 'user' ,
model: AddressModel, required:false ,
model: OrderModel, attributes: [], required:false
]
)
无论有订单或地址,是否有可能获得所有客户?
谢谢!
【问题讨论】:
【参考方案1】:我最终将两个 sequelize.fn 更改为文字,它就像一个魅力!
【讨论】:
以上是关于当聚合函数为空时,Sequelize 获取结果的主要内容,如果未能解决你的问题,请参考以下文章