php - mysql group by 使用未格式化的日期和自动求和

标签 php mysql

我正在为我的网站创建房价搜索,并且我有过去 15 年以前房屋销售的土地登记数据。

我正在尝试执行 mysql 查询以搜索以前房屋销售的邮政编码,然后按年份对它们进行分组,因此我正在寻找这样的结果:

2043    avg price was £158,000
2013    avg price was £135,000
2012    avg price was £128,000
and so on.

我的数据是这样存储在我的数据库中的:

Date                    Street                   PostCode     Price

2014-03-24 00:00        24 HATHERLEY AVENUE      L23 0SD      192500
2013-03-24 00:00        12 staley road           L23 0SR      185000
2014-03-24 00:00        1  miitchell road        L23 0SD      212000
2013-03-24 00:00        2  black grove           L23 2PL      95000
2014-03-24 00:00        73 mark road             L23 4PL      275000

我有以下 SQL 查询:

SELECT * FROM PricePaid ,
WHERE postCode = '$loc' 
ORDER BY Date DESC ");

我目前正在返回结果并使用 php 计算所有平均值。我知道有一种方法可以在 mysql 中执行此操作,因为该数据库有数百万行,我正在寻找一种流水线方式来执行此操作。

我的 mysql 不是那么好,可以用某种方式向我解释我如何对年份进行分组,然后按年份计算每个特性,还可以计算价格以及获得销售的特性总数和年度总价,这样我就可以了计算平均值。

非常感谢

最佳答案

使用GROUP BY

SELECT YEAR(Date) AS year, AVG(Price) AS avg_price
FROM PricePaid
WHERE postCode = '$loc'
GROUP BY year
ORDER BY year DESC

关于php - mysql group by 使用未格式化的日期和自动求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481041/

相关文章:

php - 统计MySQL中不为空的字段个数

php - 如何在laravel 5.6中使用province_id打印省份名称

php - 通过socket.io为广播 channel 授权laravel通行证

mysql - 复杂的 SQL 查询/更新

mysql - 多对多关系修复

MySQL left join with '-' character in a column

mysql - 使用自定义列进行 SQL SELECT 查询,然后按列求和并分组

php - 何时在 Laravel 5.x 中编写存储过程

Php Mysql 在html中显示2列的总和

php - 当另一个表中不存在某些内容时执行此查询