2013-09-26 20 views
0

В таблице журналов dns, пытаясь использовать этот запрос для получения avg. количество запросов DNS в течение дня:Использование функции avg (count())

select to_char(log_time, 'DD-MM-YYYY'),log_client,avg(count(*)) as nums from msint 
where to_char(log_time, 'DD-MM-YYYY') = '25-09-2013' and log_client = '10.10.10.1'; 

и получить ошибку "nested group function without GROUP BY" , но когда я добавляю group by log_client,log_time, получить другую ошибку not a single-group group function

Может быть кто-то может мне помочь с решением. Благодарю.

ответ

0

Пожалуйста, попробуйте выполнить запрос ниже, проверьте, не ожидается ли результат.

select 
    log_time, 
    log_client, 
    avg(nums) nums 
From(
    select 
    to_char(log_time, 'DD-MM-YYYY')log_time, 
    log_client, 
    count(*) over(partition by to_char(log_time, 'DD-MM-YYYY'), log_client) as nums 
    from msint 
    where 
    to_char(log_time, 'DD-MM-YYYY') = '25-09-2013' and 
    log_client = '10.10.10.1' 
)x 
group by log_time, log_client; 
+0

Спасибо. Это дает некоторый результат, но я все еще не уверен, правильно ли это. Просто тестирование. – Sergey

+0

Я полагаю, что усреднение по Count (*) не имеет никакого смысла, поскольку группировка выполняется на основе одинаковых столбцов, так как я изменил запрос без ошибок. – TechDo

0

использование группа вместе having having пункт. , если возможно, поделитесь своей структурой таблиц, чтобы можно было проверить запрос.

+0

здесь структура таблицы 'CREATE TABLE MSINT ( ID номер NOT NULL , LOG_CLIENT VARCHAR2 (50 BYTE) , LOG_QUERY VARCHAR2 (512 байт) , LOG_TIME ТШЕЗТАМР (6) с локальной временной зоне , скованность MSINT_PK PRIMARY KEY ( ID ) ' – Sergey

+0

который Д.Б. вы используете? вы уверены, что ваши создания команды работает? Просьба предоставить некоторые данные также. –

+0

все у меня есть, это' Name Null? Введите ------- ---------------------------------- -------- -------- -------------------- ID NOT NULL NUMBER LOG_CLIENT VARCHAR2 (50) LOG_QUERY VARCHAR2 (512) LOG_TIME TIMESTAMP (6) С ЛОКАЛЬНЫМ ВРЕМЕНИ ZONE', и его оракул – Sergey

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