gpt4 book ai didi

php - 获取特定日期的 SQL 数据

转载 作者:行者123 更新时间:2023-11-29 14:05:24 25 4
gpt4 key购买 nike

我的网站上有一个模块,显示过去 30 天的收入。我的问题是我希望所有收入都按天而不是 24 小时进行分类。

这是我的代码:

$days = array(29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);

foreach($days as $day)
{
$daybefore = $day -1;

if($day == 0)
{
$query = "SELECT SUM(earnings)
FROM earnings
WHERE `timestamp` <= CURRENT_DATE + INTERVAL
AND `timestamp` > CURRENT_DATE + INTERVAL -1 DAY";
}
if($day == 1)
{
$query = "SELECT SUM(earnings)
FROM earnings
WHERE `timestamp` <= CURRENT_DATE + INTERVAL -" . $day . "
AND `timestamp` > CURRENT_DATE + INTERVAL -" . $daybefore . " DAY";
}

问题在于,它会获取自发出查询后 24 小时内的所有数据。我想要的数据是:

今天=当天开始的所有数据。今天 = 从当天开始到当天结束的所有数据。等等

感谢您的建议。

最佳答案

首先,当完全没有必要时,您会在代码中执行循环。让 SQL 来完成工作!您可以使用 date() 函数仅获取日期时间的日期部分。

以下查询将其组合在一起以获得过去 30 个完整天的收入:

$query = "SELECT date(timestamp) as thedate, SUM(earnings)
FROM earnings
where date(timestamp) >= date(CURRENT_DATE) - interval 30
group by date(timestamp)
";

关于php - 获取特定日期的 SQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431395/

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