接收无效数量的参数 - SQL ORACLE

时间:2017-03-31 01:57:24

标签: sql oracle syntax-error

我需要创建一个名为A9T5的视图,它将使用A9表来显示非空状态,州内的人数,人们持有的不同工作标题的数量在该州,以及该州每个JobTitle的平均人数。

州名缩写应以大写字母显示。平均值应四舍五入到小数点后的一位数。四个列标题应为StatePeopleDifferent_JobsPeople_Per_Job。行应按State排序。

注意:第4列中的平均值只是第2列中的值除以第3列中的值。例如,加利福尼亚州有369人。总共有369人拥有14个不同的JobTitle。这导致平均值为369/14 = 26.3571,其舍入为26.4。

这就是我所做的:

SELECT Upper(State) as State, 
       Count(*) as People, Count(DISTINCT JobTitle) as Different_Jobs,
       Round((Count(*) / Count(DISTINCT InitCap(JobTitle),1)) as People_Per_Job
FROM A9
WHERE State is NOT NULL
GROUP BY Upper(State)
ORDER BY Upper(State);

我一直收到错误invalid number of arguments

为了解决这个问题,我需要做些什么?

1 个答案:

答案 0 :(得分:0)

中缺少1')'
Round((Count(*) / Count(DISTINCT InitCap(JobTitle),1)) as

应该是

 Round(( Count(*) / Count(DISTINCT InitCap(JobTitle)) ),1)