SQL 计算平均值

标签 sql sql-server sql-server-2008

我正在尝试计算使用相同裁剪品种的城镇中害虫的平均数量..

DistrictName    | TownName           | CropName    |Pests   
Rawalpindi      | pindi              | CIM 506     | 3.3     
Rawalpindi      | pindi              | CIM 506     | 3.8     
Rawalpindi      | Muree              | CIM 506     | 3.5 

但是这个查询一直给我语法错误,即无效的列名PestPopulation1,因为我彻底检查了我的列名的拼写...PestPouplationvarchar(max)类型

以下是我的查询

SELECT T.DistrictName, T.TownName, T.VarietyOfCrop, avg(T.PestPopulation1)
FROM (
    SELECT DistrictName, TownName,VarietyOfCrop, cast(PestPopulation1 as float) as Pests
    FROM FinalTable2
) as T
group by T.DistrictName, T.TownName, T.VarietyOfCrop

最佳答案

如前所述,问题在于您引用的列在该范围内不可用。

总而言之,甚至没有充分的理由使用这种人为设计的查询。这应该同样有效,并且更具可读性:

SELECT T.DistrictName, T.TownName, T.VarietyOfCrop, avg(cast(T.Pests as float))
FROM FinalTable2 T
group by T.DistrictName, T.TownName, T.VarietyOfCrop

关于SQL 计算平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20164782/

相关文章:

sql - 在 PostgreSQL 9.6 中,扩展填充有简单 JSON 字典的 JSONB 列的最简单方法是什么?

java - Spring/Thymeleaf : Property or field cannot be found on null, 但仍在渲染

sql - 从表中的重复行和不同行中选择状态明智的行

sql - 将 SQL 列中的分隔值拆分为多行

sql-server - 是否可以生成从 SQL Server 2008 到 SQL Server 2008 Express 的脚本

sql - PostgreSQL:更新...缺少插入?

sql - RIA 服务中的存储过程

sql-server - 强制 MS Access 检索所有列表框行并释放锁定

sql - SSAS -> 如何隐藏层次结构中使用的属性? (不使用透视)

c# - C# 中的 SQLGeography