感谢Finding sum and grouping in sequelize 将函数调用为 attirubte
我做了一些修改,包括产品参考、订单和限制
对于大多数推荐产品(独特销售):
async function getUniqueBestSelling(limit: number) {
const res = await database.model("order_items").findAll({
attributes: [
"productId",
[sequelize.fn("count", sequelize.col("productId")), "totalOrders"],
],
group: ["productId"],
include: [{ model: database.model("products") }],
order: [[sequelize.col("totalOrders"), "DESC"]],
limit: limit,
});
const plainRes = getPlainRes(res);
return plainRes;
}
总销售额(数量)
async function getBestSelling(limit: number) {
const res = await database.model("order_items").findAll({
attributes: [
"productId",
[sequelize.fn("sum", sequelize.col("quantity")), "totalQuantity"],
],
group: ["productId"],
include: [{ model: database.model("products") }],
order: [[sequelize.col("totalQuantity"), "DESC"]],
limit: limit,
});
const plainRes = getPlainRes(res);
return plainRes;
}