【问题标题】:Get week interval dates along with the AVG(`player_count`) grouped by week [duplicate]获取周间隔日期以及按周分组的 AVERAGE(`player count`) [重复]
【发布时间】:2017-05-25 18:19:31
【问题描述】:

我正在尝试获取过去 6 周中名为 player_count 的列的平均值。

这是我正在使用的查询:

SELECT AVG(`player_count`), `updated_at` FROM `gtan_servers` GROUP BY WEEK(`updated_at`) ORDER BY `updated_at` DESC LIMIT 6

但我也想为我得到的每个平均值获取周间隔日期。例如,通过运行上述查询,我​​得到两个平均值 96 和 90。我想要的是计算上述平均值的一周的开始和结束(日期)。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    使用以下查询获取一周的开始日期和结束日期

    SELECT AVG('player_count'), 'updated_at', updated_at - INTERVAL 
    WEEKDAY(updated_at) + 7 DAY as StartDate
    , (updated_at - INTERVAL WEEKDAY(updated_at) DAY) - INTERVAL 1 SECOND as 
    EndDate FROM 'gtan_servers' GROUP BY WEEK('updated_at') ORDER BY 'updated_at' 
    DESC LIMIT 6
    

    【讨论】:

    • 非常感谢。您的查询有一点问题,所以我做了一些修改,它工作了。 SELECT AVG(player_count), updated_at, updated_at + INTERVAL WEEKDAY(updated_at) + 7 DAY as EndDate FROM gtan_servers GROUP BY WEEK(updated_at) ORDER BY updated_at DESC LIMIT 6
    • 'updated_at' 已经作为开始日期工作,添加间隔给我结束日期。
    • :) 实际上我的查询得到了上周的开始日期和结束日期,这是我在项目中使用的。我忘了修改那个。无论如何,我很高兴知道您的问题已经解决。
    猜你喜欢
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多