ORA-00937:不是单组组功能如何?

时间:2016-12-20 18:07:44

标签: sql oracle

如何解决此错误?

select r.quartiere,max(count(*))
from ristoranti r,prenotazioni p 
where p.data <'14'
 and p.data >'3' 
and r.codice=p.ristorante
group by r.quartiere

3 个答案:

答案 0 :(得分:0)

如果您使用max(count(*)),则无法选择r.quartiere

(但将其保留在GROUP BY中)

select    max(count(*))
from      ristoranti r,prenotazioni p 
where     p.data <'14' and p.data >'3' and r.codice=p.ristorante
group by  r.quartiere

答案 1 :(得分:0)

失去r.quartiere,这应该有效。

select max(count(*))
from ristoranti r,prenotazioni p 
where p.data <'14' and p.data >'3' and r.codice=p.ristorante
group by r.quartiere;

这表示选择每个quartiere

中的最大计数

答案 2 :(得分:0)

要求MAX(COUNT(*))没有任何意义。如果您运行以下

select r.quartiere, count(*)
  from ristoranti r,
       prenotazioni p
  where p.data <'14' and
        p.data >'3' and
        r.codice=p.ristorante
  group by r.quartiere

您每quartiere获得一行。您获得的计数值是每个quartiere的最大数量,因为只有一个计数。

希望这有帮助。