GROUP BY语法导致“缺少表达式”错误

时间:2013-08-20 09:12:55

标签: sql oracle syntax group-by

请解释为什么以下查询:

select      in.status                    as "no_installments"
,           count(in.id)             as "installment"
FROM        instalsched.instalment in
GROUP       BY in.status;

返回

  

ORA-00936:表达式缺失   00936. 00000 - “缺少表达”   *原因:
  *行动:   行错误:1列:12

3 个答案:

答案 0 :(得分:2)

in是SQL中的关键词。它用作where子句的一部分,例如where person_id in (1,2,3,4)。要解决此问题,只需更改别名即可。

select
   in1.status as "no_installments",           
   count(in1.id)             as "installment"
FROM instalsched.instalment in1
GROUP BY in1.status;

答案 1 :(得分:0)

in是一个关键字。使用不同的别名或用双引号括起来。

答案 2 :(得分:0)

“in”是SQL语法中的保留字。您应该尝试使用其他非保留字,例如“inst”或类似的东西。