2012-08-30 4 views
1

Je développe un compteur de trafic et je veux obtenir IP et répéter nombre, mais comment?Groupe OrientDB par

Quelque chose comme: select ip, count(ip) from Redirect

Retour: null total ip count

Redirect est un haricot qui ont 2 champs: IP, la date

Répondre

0

Essayez,

select ip, count(ip) 
from Redirect 
GROUP BY IP 
+0

La requête échoue, travail: sélectionnez ip, comptez (IP) GROUP BY IP de Redirect mais avec le même résultat: null, nombre d'ip total – Jhon

2

OrientDB ne le fait pas Soutenez le GROUP BY encore (regardez this issue). Ainsi, vous pouvez le faire par:

  1. à l'aide d'un index sur le champ IP, puis rechercher dans l'index pour récupérer toutes les entrées « groupées »
  2. regrouper par votre auto en créant un RedirectGroup avec le « ip "champ et un LINKSET pour rediriger les enregistrements. De cette façon juste interroger le RedirectGroup et compter les liens (c'est une collection, donc faire .Size())
1

Selon OrientDB documentation SQL, GROUP BY est pris en charge de nos jours. Il devrait se comporter comme GROUP BY en SQL. J'utilise la version orientdb-enterprise-2.0.3 et cela fonctionne vraiment sans problèmes.

+0

bien, a abandonné orientdb il y a longtemps, travaille maintenant avec mongodb – Jhon