获取总销售数据。
我在godaddy上有一个mysql数据库,包含以下表格。
客户数据-客户代码、名称等(约450行)
交货数据-日期、发票号、数量等(每月约800行)
我需要得到一个月内所有客户的总销售数据(理想情况下,不同的月份范围将由用户输入分析趋势)。
+---------------+--------+--------+--------+--------+--------+--------+
| Customer Name | Jan-18 | Feb-18 | Mar-18 | Apr-18 | May-18 | Jun-18 |
+---------------+--------+--------+--------+--------+--------+--------+
| ABC | 30 | 50 | 30 | 80 | 70 | 140 |
+---------------+--------+--------+--------+--------+--------+--------+
| DEF | 40 | 50 | 130 | 180 | 70 | 140 |
+---------------+--------+--------+--------+--------+--------+--------+
.....
我试过这么做-
带循环json的php-查询超时,因为有太多数据要处理
excel vba—在服务器上运行查询需要几个小时,所有其他操作都会停止。
以更有效的方式获取这些数据的最佳方式是什么?
编辑1-
sql查询
while ($year<2017){
$months=0;
while ($months<12){
$cust_code=mysql_result($result2,$no,"code");
$sqlquery3="select ifnull(sum(a.quantity),0) as total_quantity
from delivery_line a, delivery_main b
where
a.item REGEXP 'INDOX|MEDOX|INDNIT|INDCO2|ARGON'
and a.del_no=b.no
and a.series=b.series
and b.cust_code='$cust_code'
and month(b.date_added)=($months+1)
and year(b.date_added) = ($year)";
$result3=mysql_query($sqlquery3);
$count3=mysql_num_rows($result3);
$quantity=mysql_result($result3,0,"total_quantity");
echo "<td>".$quantity."</td>";
$months++;
}
$year++;
}
1条答案
按热度按时间yzuktlbb1#
table
delivery_data
需要外键引用customer_data
然后你只是其中数字5是五月。
确保在要加入或用作条件的列上设置了正确的索引。即a.del、b.no、a.series、b.series、b.cust\u code、b.date\u added。
item上的正则表达式可能是杀手锏,但索引在那里不会对您有任何好处,除非您可以利用字段的开头作为锚,即
或者