繁体   English   中英

Sails.js / waterline:groupBy + count

[英]Sails.js/waterline: groupBy + count

使用sails.js(0.10.5):

我无法弄清楚如何使用水线/风帆实现groupBy / count。 我想拥有的是:

SELECT customer_id, COUNT('') FROM customer_data GROUP BY customer_id;
or
SELECT customer_id, SUM(1) FROM customer_data GROUP BY customer_id;

我无法使用count或sum(使用常量)实现此目的:

Customer.find({ groupBy:['customer_id'], count: true })
or
Customer.find({ groupBy:['customer_id'], sum: [1] })

两者都将以错误结束,第一个“缺失计算”和第二个“SQL语法错误”。 我可以使用sum与现有列( sum: ['id'] )进行分组,但这并没有让我得到计数​​。

我使用API​​错了吗?

请使用Customer.query('SELECT customer_id, SUM(1) FROM customer_data GROUP BY customer_id', function(err,results){})

如果你不想使用sql,你可以这样使用Customer.find({groupBy:'customer_id'}).exec

ref: waterline-sequel选择构建器功能

.query()从Sails v1.0开始不推荐使用,而是使用.getDatastore().sendNativeQuery() (参考: https.getDatastore().sendNativeQuery() )。 使用Waterline仍无法做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM