Группа OrientDB

Я разрабатываю счетчик трафика и хочу получить IP и количество повторений, но как?

Что-то вроде: select ip, count(ip) from Redirect

Возврат: null total ip count

Redirect - это компонент, который имеет 2 поля: ip, дата.


person Jhon    schedule 30.08.2012    source источник


Ответы (3)


OrientDB пока не поддерживает GROUP BY (см. эту выпуск). Итак, вы можете сделать это:

  1. используя индекс для поля ip, а затем просматривая индекс, чтобы получить все записи, «сгруппированные»
  2. Сгруппируйте их самостоятельно, создав RedirectGroup с полем «ip» и LINKSET для перенаправления записей. Таким образом, просто запросите RedirectGroup и подсчитайте ссылки (это коллекция, так что .size())
person Lvca    schedule 05.09.2012

Пытаться,

select ip, count(ip) 
from Redirect
GROUP BY IP
person John Woo    schedule 30.08.2012
comment
Сбой запроса, работа: выберите ip, count (ip) GROUP BY IP из перенаправления, но с тем же результатом: null, общее количество ip - person Jhon; 30.08.2012

Согласно документации OrientDB SQL, в настоящее время поддерживается GROUP BY. Он должен вести себя как GROUP BY в SQL. Я использую версию orientdb-enterprise-2.0.3 и она действительно работает без проблем.

person shobull    schedule 19.04.2015
comment
хорошо, давно бросил orientdb, теперь работаю с mongodb - person Jhon; 23.04.2015