mysql - 获取嵌套 SQL 查询中一列的平均值

标签 mysql sql sql-server

为了简单起见,我会尝试简化它。我需要获取查询返回列的平均值。合理?我会尝试详细说明。(从另一个问题借用的示例结果)

Plant_ID | Year |Quarter| MR  | Range
| CCAR   | 2009 | 1     | 706 | Null
| CCAR   | 2009 | 2     | 626 | 0,08
| CCAR   | 2009 | 2     | 637 | 0,11
| CCAR   | 2009 | 2     | 737 | 0,1
| CCAR   | 2009 | 1     | 552 | 0,19
| CCAR   | 2009 | 4     | 418 | 0,137
| CCAR   | 2009 | 1     | 503 | 0,085
| CCAR   | 2009 | 2     | 645 | 0,058
| CCAR   | 2009 | 4     | 743 | 0,098
| CCAR   | 2009 | 3     | 556 | 0,187
| CCAR   | 2009 | 1     | 298 | 0,258
| CCAR   | 2009 | 2     | 339 | 0,041
| CCAR   | 2010 | 1     | 381 | 0,042

当我运行这样的查询时,我会得到这个结果

Select PlantID, Year, Quarter, MR, Range FROM TestTable WHERE PlantID in('CCAR')

我想要每个季度的平均 MR。初步我会尝试这样的事情。

Select Quarter, AVG(MR) FROM (Select PlantID, Year, Quarter, MR, Range FROM TestTable WHERE PlantID in ('CCAR')) GROUP BY Quarter ORDER BY Quarter

问题是我不知道在哪里嵌套查询来完成此任务。有什么帮助吗?

谢谢!

最佳答案

添加别名,例如你好

Select Quarter, AVG(MR) FROM 
(Select PlantID, Year, Quarter, MR, Range FROM TestTable WHERE PlantID in ('CCAR')) hallo    
GROUP BY Quarter ORDER BY Quarter

虽然在本例中这不是必需的,但以下内容就足够了

Select Quarter, AVG(MR)
FROM TestTable 
WHERE PlantID in ('CCAR')   
GROUP BY Quarter 
ORDER BY Quarter   

关于mysql - 获取嵌套 SQL 查询中一列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25923476/

相关文章:

mysql - 如何将 SQL 查询结果存储在表列中

php - php mysql 菜单项动态排序

java - 使用复合键 hibernate OneToOne 关系

sql - Microsoft SSMS 中的运行总计

sql-server - 类似于 MySQL 的 DATE_SUB/INTERVAL

c# - Entity Framework : SqlGeography vs DbGeography

mysql - 如何连接到本地主机上的 MariaDB (MySQL) 实例?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

sql - 批量运行Mysql脚本?

PHP - 以与调用相同的顺序返回 mysql 行