首页 文章

带增量的SQL select语句

提问于
浏览
2

目前我在PHP中使用for语句来获取此SQL语句的所有月份,但是想知道我是否可以使用SQL完成所有操作 .

基本上我必须得到平均上市价格,并且每个月的平均售价可以追溯到1年,其中卖出日期=月份 .

使用PHP很简单,但创建了12个数据库命中 .

我正在尝试下面的sql语句,但它完全无序返回列表

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

“不那么”被剥夺了法令,所以请用适当的代码替换“少于”

输出:

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

正如你所看到的,它是从随机日期开始的,我需要从2010-03,2010-02,2010-01等拉出...

任何帮助表示赞赏!

1 回答

  • 2

    试试这个:

    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
    

相关问题