【问题标题】:i need to group years and select last five years with the averages of each year so that i have average and year output我需要对年份进行分组并选择最近五年的平均值,以便我获得平均和年份输出
【发布时间】:2013-09-04 11:42:48
【问题描述】:

我需要对年份进行分组并选择最近五年的平均值,这样我就有了平均和年份的输出

SELECT AP, yr
FROM (
SELECT Year AS yr, AVG( "tbltest.AskingPrice" ) AS AP
FROM tbltest
GROUP BY `yr` DESC
LIMIT 5
)sub
GROUP BY `yr` ASC 

【问题讨论】:

  • 好的,那么您发现您发布的代码有什么问题?
  • 请显示示例输入数据和您预期的输出结果集,以及您上述查询中的哪些问题

标签: java mysql


【解决方案1】:
SELECT sub.yr, sub.AP
FROM (
    SELECT Year AS yr, AVG(AskingPrice) AS AP
    FROM tbltest
    GROUP BY yr
    ORDER BY yr DESC
    LIMIT 0,5
) sub
ORDER BY sub.yr ASC

【讨论】:

    【解决方案2】:

    我认为您的子查询可以满足您的要求:

    SELECT Year AS yr, AVG( "tbltest.AskingPrice" ) AS AP
    FROM tbltest
    GROUP BY `yr`
    ORDER BY Year DESC
    LIMIT 5;
    

    我只是将desc 移动到order by 以与标准SQL 保持一致。

    【讨论】:

    • yr AP 2013 0 2012 0 2011 0 2010 0 2009 0 谢谢,但以上数据是我得到的,因为 AP 应该给我以百万为单位的平均价值
    猜你喜欢
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 2019-12-05
    • 2022-07-07
    • 1970-01-01
    • 2020-11-12
    相关资源
    最近更新 更多