MySQL平均: Making Statement More Efficient

标签 mysql select average

我正在使用此 MySQL 语句来查找社区的平均特性评估。问题是我必须为每个邻域添加一条 SELECT 语句——而且有很多邻域。有没有办法不必指定“RIVER FRONT”或“OLD TOWN”?有没有更有效的方法?

SELECT AVG(property_table.assessment) 
FROM property_table, neighborhood_table  
WHERE property_table.id = neighborhood_table.id AND neighborhood_table.neighborhood = 'RIVER FRONT'
    UNION ALL
SELECT AVG(property_table.assessment) 
FROM property_table, neighborhood_table  
WHERE property_table.id = neighborhood_table.id AND neighborhood_table.neighborhood = 'OLD TOWN'

最佳答案

这是一个标准的 SQL 聚合语句,显示所有社区的平均值
左连接允许您在邻域中不存在任何属性的情况下获取零值。

SELECT 
    n.neighborhood, COALESCE(AVG(p.assessment), 0)
FROM
    neighborhood_table n
    LEFT JOIN 
    property_table p ON p.id = n.id
GROUP BY 
    n.neighborhood;

关于MySQL平均: Making Statement More Efficient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702585/

相关文章:

mysql - 从 Adob​​e flex/AIR 访问 mysql

mysql - 使用不同的表创建 View

MySQL跨4张表select数据(多条件)

javascript - 如何选择(突出显示)输入文本框中的文本

MySql SELECT AVG CASE 语句组错误

google-sheets - 平均使用率基于电子邮件地址在一段时间内出现的次数

arrays - 在数组中查找与数组具有相同均值的对

mysql - 我应该为 MySQL 中的这些数据使用什么类型?

mysql - PHP/Mysql 选择和特殊字符

sql - 使用 SELECT UNION 并从一张表中返回两列的输出