简体   繁体   English

SQL平均总是返回0

[英]SQL Average always returns 0

I have a simple SQL command: 我有一个简单的SQL命令:

SELECT Avg('observations1') AS AvgFeedback,
       Avg('observations2') AS AvgChallenge,
       Avg('observations3') AS AvgTalk,
       Avg('observations4') AS AvgSkills,
       Avg('observations5') AS AvgExpectations
FROM   .observations
WHERE  obsschool = 'admin';  

However every result is 0 when there are numbers in each of the fields. 但是,当每个字段中都有数字时,每个结果均为0。 What am I doing wrong? 我究竟做错了什么? Thanks. 谢谢。

Remove the quotes ( ' ) wrapping your field names: 删除包含您的字段名称的引号( ' ):

SELECT Avg(observations1) AS AvgFeedback,
       Avg(observations2) AS AvgChallenge,
       Avg(observations3) AS AvgTalk,
       Avg(observations4) AS AvgSkills,
       Avg(observations5) AS AvgExpectations
FROM   observations
WHERE  obsschool = 'admin'; 

When passing field names, no quotes necessary. 传递字段名称时,无需引号。

您可以尝试一下,看看会得到什么结果吗:

avg(cast(observations1 as dec(7,5))) as AvgFeedback

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM