Artışları deyimi Select SQL

1 Cevap php

Şu anda bu SQL deyimi için tüm ay almak için PHP deyimi için bir kullanıyorum, ama ben SQL ile her şeyi yapabilirsiniz olmadığını bilmek istiyorum.

Temelde ben ortalama liste fiyatı almak zorunda, ve her ay için ortalama satış fiyatı geri sellingdate ay = 1 yıl olacak.

PHP ile basit, ama o 12 veritabanı hit oluşturur.

Ben aşağıda sql statment çalışıyorum, ama tamamen sıra dışı listeleri verir

SELECT 
avg(ListingPrice), 
avg(SellingPrice),
count(ListingDate),
DATE(SellingDate) as date,
MONTH(SellingDate) as month,
YEAR(SellingDate) as year
FROM `rets_property_resi` 
WHERE Area = '5030'
AND Status = 'S'
AND SellingDate "less then" = 'NOW()'
GROUP BY month
ORDER BY month desc
LIMIT 0,12

"az sonra" statment şeritli oluyor, bu yüzden doğru kod ile "az sonra" yerine lütfen

Çıktı:

867507.142857   877632.492063   63  1996-12-24  12  1996
971355.833333   981533.333333   60  1997-11-18  11  1997
949334.328358   985453.731343   67  1997-10-23  10  1997
794150.000000   806642.857143   70  1996-09-20  9   1996
968371.621622   988074.702703   74  1997-08-21  8   1997
1033413.366337  1053018.534653  101 1997-07-30  7   1997
936115.054795   962787.671233   73  1996-06-07  6   1996
875378.735632   906921.839080   87  1996-05-16  5   1996
926635.616438   958561.643836   73  2010-04-13  4   2010
1030224.472222  1046332.291667  72  2010-03-31  3   2010
921711.458333   924177.083333   48  1997-02-28  2   1997
799484.615385   791551.282051   39  1997-01-15  1   1997

Eğer rastgele tarihleri ​​çeker, görebileceğiniz gibi, ben 2010-03, 2010-02, 2010-01, vb çekmek gerekiyor ..

herhangi bir yardım takdir!

1 Cevap

Bu deneyin:

SELECT 
    avg(ListingPrice), 
    avg(SellingPrice),
    count(ListingDate),
    MONTH(SellingDate) as month,
    YEAR(SellingDate) as year
FROM `rets_property_resi` 
WHERE Area = '5030'
    AND Status = 'S'
    AND SellingDate <= NOW()
GROUP BY year, month
ORDER BY year desc, month desc
LIMIT 0,12