gpt4 book ai didi

MYSQL:周报、月报、年报

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

我想制作可以每周、每月和每年查看的报告。

例如:我想查看谁按周注册,或者我想查看谁在本月或本年注册以及付款情况。我想在今年六月见到登记者。我想使用下拉搜索查看 2010 年的注册者。

//这是我每周报告的代码,我想查看上周注册的学生,但我不知道我的代码是否正确。

$datetoday=date("Y-m-d");
$result = mysql_query("
SELECT enrollee_info.*, payments.* from enrollee_info
INNER JOIN payments on payments.enrollee_id=enrollee_info.e_id
WHERE enrollee_info.category='Walk In'
AND DATE_FORMAT(payments.entrydate , %Y-%m-d')>=SUBDATE('".$datetoday."' , INTERVAL 7 DAY)");

使用每月和每年,例如我想查看谁在本月注册等,我想通过使用下拉列表查看谁今年注册,您可以选择要搜索的月份或年份。

最佳答案

看看the manual关于 INTERVAL 的可接受单位。您可以简单地使用开关来确定记录的范围。

在您的下拉列表中,您将有周、月或年。然后,您可以使用 switch 来准备语句。

$sql = "SELECT enrollee_info.*, 
payments.*
FROM enrollee_info
INNER JOIN payments
ON payments.enrollee_id = enrollee_info.e_id
WHERE enrollee_info.category = 'Walk In'
AND payments.entrydate >= Subdate(Curdate(), ";

switch ($range) {
case "month":
$sql .= 'INTERVAL 1 MONTH';
break;
case "year":
$sql .= 'INTERVAL 1 YEAR';
break;
//if no match, use week
default:
$sql .= 'INTERVAL 1 WEEK';
}

$sql .= ')';

这会创建这样的语句:

SELECT enrollee_info.*, 
payments.*
FROM enrollee_info
INNER JOIN payments
ON payments.enrollee_id = enrollee_info.e_id
WHERE enrollee_info.category = 'Walk In'
AND payments.entrydate >= Subdate(Curdate(), INTERVAL 1 week)

如果可能,尽量避免从每个表中获取所有列并使用列列表。

关于MYSQL:周报、月报、年报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15237065/

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