2015-01-09 9 views
2

Использование sails.js (0.10.5):Sails.js/ватерлинии: группеПо + кол

Я не могу понять, как достичь GroupBy/подсчет с помощью ватерлинии/парусов. То, что я хотел бы иметь что-то вроде:

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

я не смог добиться этого с помощью счетчика, ни сумму (используя константу):

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

И завершится с ошибкой, то первый «недостающий расчет» и вторая «синтаксическая ошибка SQL». Я могу сделать группировку, используя сумму с существующим столбцом (sum: ['id']), но это не дает мне счет.

Я использую API неправильно?

ответ

4

используйте Customer.query('SELECT customer_id, SUM(1) FROM customer_data GROUP BY customer_id', function(err,results){})

, если вы не хотите использовать SQL, вы можете, как это использовать Customer.find({groupBy:'customer_id'}).exec

исх: waterline-sequel select builder function

+0

Извините за поздний комментарий: Я думал об этом сочетание с сгенерированным выражением where (http://stackoverflow.com/q/27852766/3045181). Я попытался взглянуть на это где-то-поколение, но я нашел его довольно сложным (с использованием ватерлинии-сиквела). – tokosh

+0

О, я вижу, это неустойчивый модуль :) – zieglar

+0

Спасибо в любом случае. – tokosh

Смежные вопросы