... oracle group by beginners for syntaxners

时间:2013-08-20 10:39:34

标签: sql oracle syntax

请问有什么问题?

select inst.id            
,      inst.type          as "TypeOfInstall"
,      count(inst.id)     as "NoOfInstall"
from   dm_bsl_ho.installment inst
group  by inst.type

2 个答案:

答案 0 :(得分:1)

您不允许使用具有群组功能的单一功能。就像将count与单行函数混合一样。

您应该包含group by功能:

 select inst.type          as "TypeOfInstall"
 ,      count(inst.id)     as "NoOfInstall"
 from   dm_bsl_ho.installment inst
 GROUP BY inst.type;

答案 1 :(得分:0)

在大多数RDBMS中执行GROUP BY时,您的选择仅限于以下两项:

  • GROUP BY中提到的列 - 在您的情况下,即inst.type
  • 汇总功能 - 例如count(inst.id)

但是,顶部的inst.id不是其中之一。您需要将其删除才能使语句生效:

SELECT 
       type       as "TypeOfInstall"
 ,     COUNT(id)  as "NoOfInstall"
 FROM  dm_bsl_ho.installment
 GROUP BY type