我正在努力与MySQL的声明,并希望有一些指导,因为我很接近,但不是那里。我有一个数据库,其中包含一个物业地址表和房产租赁列表。物业地址与一个或多个地区有关,这些地区与地区表有关,然后与郊区表相关。MySQL AVG和分组
我想创建一个结果,该结果给出了每个月每个郊区的平均租金以及卧室的数量。
例如:
District Suburb Month YEAR YMD Bedrooms DataAverage Nelson The Brook 01 2012 2012-01-01 00:00 1 190 Nelson The Brook 01 2012 2012-01-01 00:00 2 274 Nelson The Brook 01 2012 2012-01-01 00:00 3 341
,我可以再转换成表格如下:
Average Rent
Beds by Suburb Jan-12 Feb-12 Mar-12 Apr-12 May-12 Jun-12 Jul-12 The Brook 1 $150 $245 $160 $285 $135 $370 $350 2 $330 $340 $380 $310 $335 $345 $355 3 $350 $380 $310 $395 $380 $350 $350 Inner City 1 $160 $245 $260 $285 $295 $300 $350 2 $360 $440 $480 $410 $535 $545 $555 3 $370 $480 $510 $595 $480 $450 $550
我目前的SQL查询是这样的:
SELECT d.name as District, s.name AS Suburb,
FROM_UNIXTIME(l.StartDate,'%m') AS Month,
FROM_UNIXTIME(l.StartDate,'%Y') AS YEAR,
FROM_UNIXTIME(l.StartDate, '%Y-%m-01 00:00') AS YMD,
p.Bedrooms,
REPLACE(FORMAT(AVG(l.RentPerWeek),0),',','') AS DataAverage
FROM properties p
LEFT JOIN listings l on l.property_id=p.id
LEFT JOIN regions r on p.region_id=r.id
LEFT JOIN districts d on d.region_id=r.id
LEFT JOIN suburbs s on s.district_id=d.id
WHERE FROM_UNIXTIME(l.StartDate) BETWEEN DATE(NOW()) - INTERVAL (DAY(NOW()) - 1) DAY - INTERVAL 11 MONTH AND NOW()
GROUP BY District, Suburb, Year, Month, Bedrooms
ORDER BY District, Suburb ASC, YMD ASC, Bedrooms ASC
不幸的是我每个郊区都会得到同样的结果。我想我可能需要创建一个子查询SQL语句才能正常工作,但我不完全确定。
所以我得到的东西是这样的:
District Suburb Month YEAR YMD Bedrooms DataAverage Nelson The Brook 01 2012 2012-01-01 00:00 1 190 Nelson The Brook 01 2012 2012-01-01 00:00 2 330 Nelson The Brook 01 2012 2012-01-01 00:00 3 350 Nelson The Brook 02 2012 2012-02-01 00:00 1 245 Nelson The Brook 02 2012 2012-02-01 00:00 2 340 Nelson The Brook 02 2012 2012-02-01 00:00 3 380 ... Nelson Inner City 01 2012 2012-01-01 00:00 1 190 Nelson Inner City 01 2012 2012-01-01 00:00 2 330 Nelson Inner City 01 2012 2012-01-01 00:00 3 350 Nelson Inner City 02 2012 2012-02-01 00:00 1 245 Nelson Inner City 02 2012 2012-02-01 00:00 2 340 Nelson Inner City 02 2012 2012-02-01 00:00 3 380 .etc.
Average Rent
Beds by Suburb Jan-12 Feb-12 Mar-12 Apr-12 May-12 Jun-12 Jul-12 The Brook 1 $150 $245 $160 $285 $135 $370 $350 2 $330 $340 $380 $310 $335 $345 $355 3 $350 $380 $310 $395 $380 $350 $350 Inner City 1 $150 $245 $160 $285 $135 $370 $350 2 $330 $340 $380 $310 $335 $345 $355 3 $350 $380 $310 $395 $380 $350 $350
任何指针或协助将不胜感激。
啊....蛋面上...我已经有一个suburb_id列。我不知道为什么我没有使用????感谢您帮助我找到在树林里的阿甘... – Greg