Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在将groupby与Sequelize和SQLite一起使用时,如何获得等于某个值的行数?_Javascript_Node.js_Sqlite_Sequelize.js - Fatal编程技术网

Javascript 在将groupby与Sequelize和SQLite一起使用时,如何获得等于某个值的行数?

Javascript 在将groupby与Sequelize和SQLite一起使用时,如何获得等于某个值的行数?,javascript,node.js,sqlite,sequelize.js,Javascript,Node.js,Sqlite,Sequelize.js,我有一张表格,上面有电子邮件、姓名、订单号、评论。所有这些字段都是文本。我通过电子邮件对结果进行分组,并计算有多少人拥有订单号 review字段的值为'Live'、'Failed'或null我想计算每个电子邮件地址出现这些值的次数,并在新列中返回计数(review\u live\u count、review\u failed\u count和review\u null\u count) 这是我目前的代码: let users = await db.reservations.findAll({

我有一张表格,上面有
电子邮件、姓名、订单号、评论
。所有这些字段都是
文本
。我通过
电子邮件
对结果进行分组,并计算有多少人拥有
订单号

review
字段的值为
'Live'
'Failed'
null
我想计算每个电子邮件地址出现这些值的次数,并在新列中返回计数(
review\u live\u count
review\u failed\u count
review\u null\u 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
Sequelize
Sequelize
都是通过
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
});

希望能有所帮助

谢谢!但这只是给了我每个字段的
1
0
,并没有给我实际的计数。我只是编辑了不同的电子邮件到id。希望有列id。