0

在 dns 日志表中,尝试使用此查询来获取平均值。一天内的 dns 查询数:

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

也许有人可以帮助我解决问题。谢谢。

4

2 回答 2

0

使用 group by 和有子句。如果可能,请分享您的表结构,以便可以检查查询。

于 2013-09-26T05:01:27.740 回答
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;
于 2013-09-26T04:38:14.917 回答