使用开始日期PHP每周返回结果

使用开始日期PHP每周返回结果,php,mysql,week-number,Php,Mysql,Week Number,我试图通过PHP获取SQL数据,每周都会显示一个案例类型的计数,如下所示: Week 1 | Date From | Volume Week 2 | Date From | Volume Week 3 | Date From | Volume 等等。。。无需每周手动操作。我将周数变量设置为7月开始的业务年度,因此week 1是7月的第一周。理想情况下,我想在公司工作几周,但可以在正常的一年开始。我从以下几点开始: SELECT YEARWEEK(date) as weekNum, MI

我试图通过PHP获取SQL数据,每周都会显示一个案例类型的计数,如下所示:

Week 1 | Date From | Volume
Week 2 | Date From | Volume
Week 3 | Date From | Volume
等等。。。无需每周手动操作。我将周数变量设置为7月开始的业务年度,因此
week 1
是7月的第一周。理想情况下,我想在公司工作几周,但可以在正常的一年开始。我从以下几点开始:

    SELECT YEARWEEK(date) as weekNum, MIN(sr_mob.`date`) as start_date, 
    count(*) as numRecords 
    FROM sr_mob
    WHERE outcome='Escalated'
    GROUP BY YEARWEEK(date)
这给了我返回的数据,但是开始日期取决于第一次输入的时间是那周

有没有办法在PHP中定义一周,然后查询表(不包含周数)以获得我想要的?或者这听起来像是我每周都要手动请求

我可以使用say:
$Week1($Week1=20180731-7;)

我想我要寻找的是一种方法,即在
期间使用
$week
变量为每个
执行
,而不必写出52个变量,如果有意义的话。

使用以下引用:


请参阅:@Jochem Kuijpers是否已将年份开始日期指定为另一个日期。在这个查询中,年份从1月1日开始,是否可以更改为从7月1日开始?那么weekNum1将是7月的第一周(目前显示为第26周)?如果没有,那很好,我可以处理这个问题,谢谢你的帮助,非常感谢。我一直认为,如果无法通过select中的非聚合列将其包括在组中,那就是自找麻烦,即使在有一个看似清晰的功能dependency@gdr39我只是格式化了答案。我还没有检查它的正确性。正如@草莓所指出的;此查询具有未定义的行为,因为它不使用聚合函数进行分组。MySQL文档指定使用任意值来表示组(例如,使用
MIN(date)
来使用最小值)。如果你想要一个完全正确的答案,你必须给我们更多的细节。您的数据库模式是什么样的,等等。请参阅草莓对您的问题的最初评论。
SELECT 
    YEARWEEK(date) as weekNum, 
    STR_TO_DATE(CONCAT(YEARWEEK(date),' Monday'), '%X%V %W') as start_date, 
    count(*) as numRecords 
FROM sr_mob 
WHERE outcome='Escalated' 
GROUP BY YEARWEEK(date)