MYSQL 查询以获取每日、每周和每月的销售额

时间:2021-06-19 10:28:01

标签: php mysql sql ajax

我正在使用 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');

这些是我打算填充的值: Values on Dashboard

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

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 天的数据,而是从用户检查时要跨越的每年的周和月的开始日期。


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

0 个答案:

没有答案