gpt4 book ai didi

mysql - sql获取上个月的所有查询

转载 作者:行者123 更新时间:2023-12-01 00:38:32 25 4
gpt4 key购买 nike

我遵循了 this question 上的第一个答案但是我的 sql 查询有一些问题。我没有得到任何结果。
我犯了什么错误?
如何始终在每月的第一天设置 CURDATE?

SELECT DATE_FORMAT(`date`, '%Y-%m-%d') , `price` 
FROM `sales`
WHERE `id` = :id
AND (`date` BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE())

编辑整个代码:

$verkaufmonat3 = 0;
$verkaufmonatanzahl2 = 0;
$verkaufmonat4 = array();
$sqluser5 = $X['dbh']->prepare("SELECT DATE_FORMAT(`date`, '%Y-%m-%d') , `preis` FROM `verkauf` WHERE `vertreterid` = :id AND (`date` BETWEEN CURDATE(), '%Y-%m-01' - INTERVAL 60 DAY AND CURDATE(), '%Y-%m-01')");
$sqluser5->execute(array(
':id'=>$_SESSION['id']
));
$verkaufmonatanzahl2 = $sqluser5->rowCount();
$verkaufmonat4 = $sqluser5->fetchAll();
for ($a = 0; $a <= $verkaufmonatanzahl2; $a++) {
$verkaufmonat3 += $verkaufmonat2[$a]['preis'];
}

在我的数据库中,我在 2016 年 10 月 28 日有一笔促销事件。值(value) 50 欧元。所以我的 $verkaufmonat3 应该是 50 但它不是,它是 0。

最佳答案

您的问题不清楚,但要获取当月的第一天,然后使用

 SELECT DATE_FORMAT(CURDATE() , '%Y-%m-1') 

所以如果你想要上个月的数据试试

SELECT 
DATE_FORMAT(CURDATE() , '%Y-%m-1') - INTERVAL 1 MONTH as first_day,
DATE_FORMAT(CURDATE() , '%Y-%m-1') - INTERVAL 1 DAY as last_day

意义

 WHERE `date` BETWEEN  DATE_FORMAT(CURDATE() , '%Y-%m-1') - INTERVAL 1 MONTH
AND DATE_FORMAT(CURDATE() , '%Y-%m-1') - INTERVAL 1 DAY

关于mysql - sql获取上个月的所有查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40635314/

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