gpt4 book ai didi

javascript - 在将 groupby 与 Sequelize 和 SQLite 结合使用时,如何获取等于某个值的行数?

转载 作者:行者123 更新时间:2023-12-02 20:57:34 25 4
gpt4 key购买 nike

我有一个表,其中包含电子邮件、姓名、订单号、评论。所有这些字段都是文本。我按电子邮件对结果进行分组,并计算有多少人拥有order_number

review 字段的值为 'Live''Failed'null我想计算每个电子邮件地址中每个值出现的次数,并在新列中返回计数(review_live_countreview_failed_countreview_null_count)。

这是我当前的代码:

let users = await db.reservations.findAll({
attributes: ['email', 'name',[db.sequelize.fn('count', db.sequelize.col('order_number')), 'orders']], group: ["email"],
raw:true
});

我正在使用 Node、Sequelize 和 SQLite。 Sequelizesequelize 均通过 db 对象公开。

最佳答案

你可以尝试使用sequelize文字

let users = await db.reservations.findAll({
attributes: [
'email',
'name',
[db.sequelize.fn('count', db.sequelize.col('order_number')), 'orders'],
[db.sequelize.literal(`COUNT (distinct "id") FILTER ( WHERE "review" = 'Live' )` ), 'review_live_count'],
[db.sequelize.literal(`COUNT (distinct "id") FILTER ( WHERE "review" = 'Failed' )` ), 'review_failed_count'],
[db.sequelize.literal(`COUNT (distinct "id") FILTER ( WHERE "review" is null )` ), 'review_null_count'],
],
group: ["email"],
raw:true
});

希望对你有帮助

关于javascript - 在将 groupby 与 Sequelize 和 SQLite 结合使用时,如何获取等于某个值的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61435158/

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