2017-01-05 1 views
0

J'ai l'ensemble de données suivant dans ma base de données rethinkdb. Je veux calculer la somme d'un attribut nommé Min. Je veux additionner toutes les valeurs de Min.calculer la somme des valeurs d'un attribut spécifique dans une table dans rethinkDB?

Par exemple, avec l'ensemble de données suite à la requête doit retourner

{ 
"completedAt": Fri Dec 30 2016 10:05:17 GMT+00:00 , 
    "Min": 0 , 
} 
{ 
"completedAt": Fri Dec 30 2016 10:05:17 GMT+00:00 , 
    "Min": 3 , 
} 
{ 
"completedAt": Fri Dec 30 2016 10:05:17 GMT+00:00 , 
    "Min": 5 , 
} 

Pouvez-vous aider?

Répondre

0

Pour somme:

r.db('dbone').table("usertable").sum("Min") 

Vous avez obtenu erreur:

Expected type NUMBER but found OBJECT

avec r.db('dbone').table("usertable").filter(r.row("userid").eq("‌​002")).pluck('Min').sum() la cause après pluck vous obtenez tableau d'objets. Pour sum le résultat de pluck vous devriez obtenir le terrain comme ceci:

r.db('dbone').table("usertable").filter(r.row("userid").eq("‌​002")).pluck('Min')("Min").sum() 

ou passer le nom du champ à sum:

r.db('dbone').table("usertable").filter(r.row("userid").eq("‌​002")).pluck('Min').sum("Min") 
bien
+0

Merci cela a fonctionné comme un charme. Je n'ai pas pensé de cette façon – DEO

+0

@DEO accepter la réponse alors (: – Suvitruf

+0

bien pouvez-vous me dire comment la somme peut être appliquée si j'utilise une fonction de carte comme ceci Bal: r.row ('left') ('Min'). sum ('Min') – DEO

0

Ne pouvez-vous pas utiliser une commande sum sur l'ensemble de données? Probablement quelque chose comme ça -

r.table("tablename").sum("Min").run(conn, callback) 

Je ne suis pas familier avec rethinkdb, mais j'avais un coup d'œil à ses API et vous pouvez trouver plus sur la commande de somme here.

+0

reçois ce pour UserID particulier, et il y a beaucoup de jeux de données contre eachUserId si lorsque je cours la requête suivante ** r.db ('dbone'). table ("utilisable"). filter (r.row ("userid"). eq ("002") ) .pluck ('Min ') .sum() ** indique le type attendu NUMBER mais trouvé OBJET – DEO

+0

Est-ce que 'userid' est une chaîne ou un entier? Si c'est un entier, vous devrez peut-être supprimer les guillemets. –

+0

bien dans reql nous utilisons des guillemets doubles la requête s'exécute bien quand je n'utilise pas sum() – DEO