首页 > 解决方案 > MYSQL 查询以获取每日、每周和每月的销售额

问题描述

我正在使用 PHP,我想从我的销售/转移表中获取每日、每周和每月的销售/转移数据。我们的月份从每个月的 10 日开始,工作日是从星期一到星期五。但我想使用 America/New_York 时区而不是我自己的时区。为此,我这样做了:

date_default_timezone_set('America/New_York');
$usa_date = date("Y-m-d");
$start_date_of_week = date("Y-m-d H:i:s", strtotime('monday this week'));
$start_date_of_month = date('Y-m-01 00:00:00');

这些是我打算填写的值: 仪表板上的值

我的转移表只包含销售/转移条目和每次转移一个条目。
以下是我的表格的示例:

id  Date           AgentID      AgentName   Accepted
1   2021-06-16     100          Bevan       No
2   2021-06-16     101          Alice       Yes
3   2021-06-17     102          Jaffer      Yes
4   2021-06-17     101          Alice       No
5   2021-06-18     100          Bevan       Yes     

我想使用 AJAX 检索数据,我的代码是这样的

$.ajax({
    'url': "<?=  base_url(). "/dashboardStats";?>",
    'method': "GET",
    'dataType': "JSON",
    'contentType': 'application/json'
}).done( function(data) {
    $(".dailySales").text(function(i, origText){
        alert (data);
        return "1000";
    });
    })
});

我的问题陈述是:如果我为每张卡单独获取数据,我可以做到,例如使用以下代码获取所有人的每日销售数据:

select count(*) as TotalTransfers from transfers

但是为每个盒子运行这么多的 Ajax 请求看起来效率很低。所以我想尽可能少地使用 SQL 语句和 AJAX 请求。有没有一种方法可以让我获取多张卡的数据?我知道答案是肯定的,并且可以在 SQL 中使用 Cases,但我也需要集成 DATE,但我不知道该怎么做。
结果不应显示过去 7 天或 30 天的数据,而是从每年的一周和一个月的开始日期到用户检查它时的跨度。


我希望我现在在编辑中更加详细。请询问是否需要更清楚。

标签: phpmysqlsqlajax

解决方案


推荐阅读