【发布时间】:2015-03-30 11:18:30
【问题描述】:
我正在寻求一些帮助,以提高我的 php/MySQL 代码的效率。目前我的 PHP 代码中有一个嵌套的 SQL 语句,它需要永远运行。我知道有一种更有效的方法,可以在一个语句中进行查询,但我正在努力解决如何做到这一点。
基本上,我有 2 张桌子。 “客户”和“购买”。我想遍历“客户”表并计算/显示他们从“购买”表中购买了多少。
这是我的 php/mysql 代码:
$sql = "SELECT CustomerID, Username, Active FROM customers WHERE AND Active = 'Y'";
$result = mysql_query($sql,$connection);
while ($myrow = mysql_fetch_array($result)) {
$sql2 = "SELECT COUNT(ID) FROM purchases WHERE AND (CustomerID = $myrow[CustomerID] AND (Date BETWEEN $date1 AND $date2) )
$result2 = mysql_query($sql2,$connection);
$TotalPurchases = mysql_result($result2,0,”count(ID)”);
}
哪些输出:
MrSmith: 10
MrsGreen: 4
MrGrey: 1
MissDonna: 0
如果不是针对在 php.ini 中计算的变量 $date1 和 $date2 (Date BETWEEN $date1 AND $date2),我可能会将其变成 1 个查询。关于如何使其成为更有效的查询的任何建议?
谢谢
卡洛斯
【问题讨论】: