gpt4 book ai didi

php - 跟踪一个月前的结果并获取每天的结果 - MySQL

转载 作者:行者123 更新时间:2023-11-29 12:37:47 25 4
gpt4 key购买 nike

我正在从 MySQL 数据库 检索基于 30 天前 的结果。这是我正在做的事情:

“SELECT * FROM archived_check_in WHERE client_id = :id AND DATE(check_in_date) > DATE(DATE_SUB(NOW(), INTERVAL 30 DAY))”

现在我想知道如何才能真正获得 30 天前 的所有结果,而且实际上还能获得 30 天期间 内每一天的结果。

解决这个问题的最佳方法是什么?

更新:

好的,这是我想要返回的示例:

    $j = 0;
$response = '';

$sql="SELECT * FROM archived_check_in WHERE client_id = :id AND DATE(check_in_date) > DATE(DATE_SUB(NOW(), INTERVAL 30 DAY)) ";
$sth=$DBH->prepare($sql);
$sth->execute(array(':id' =>$current_user->ID));
while($row = $sth->fetch(PDO::FETCH_ASSOC))
{
$i = 0;//<!-- used for that days total
$response["row"][$j]["y"] = $row['check_in_date'];
$response["row"][$j]["amount"] = $i + 1;
$i++;
}
$j++;

$response["row"][$j]... 将代表30 天查找的每一天

最佳答案

以下是如何获取每日计数的示例:

SELECT COUNT(*) AS day_count, DATE(check_in_date) AS day
FROM archived_check_in
WHERE client_id = :id
AND DATE(check_in_date) > DATE(DATE_SUB(NOW(), INTERVAL 30 DAY))
GROUP BY DATE(check_in_date)

请注意,当您只想要一些东西时使用SELECT *极其浪费的。只要有可能,选择您感兴趣的列。

由于这需要在每一行上单独运行 DATE() 函数,因此在较大的数据集上速度会非常慢。这就是专门为此操作创建一个具有关联 INDEX 的新 DATE 列的有用之处。

关于php - 跟踪一个月前的结果并获取每天的结果 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26514054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com