如何获得表格中最近12个月的销售小计?
问题描述:
我有这样的代码,它给了我给定月份的每个产品的小计。如何获得表格中最近12个月的销售小计?
<?php
include("dbaseconn.php");
$query = "SELECT product, SUM(qty) FROM sh_orders GROUP BY product";
$result = mysql_query($query) or die(mysql_error());
// Print out result
while($row = mysql_fetch_array($result)){
echo "<table width='1050'>" ;
echo "<td width='400'>";
echo "". $row['product']. " ";
echo "</td>";
echo "<td>";
echo "". $row['SUM(qty)']. "" ;
echo "</td>";
echo "<br />";
}
?>
表结构
CREATE TABLE IF NOT EXISTS `sh_orders` (
`building` varchar(50) NOT NULL,
`qty` varchar(5) NOT NULL,
`product` varchar(50) NOT NULL,
`order_id` bigint(5) NOT NULL AUTO_INCREMENT,
`unik` varchar(50) NOT NULL,
`order_date` varchar(25) NOT NULL,
`co_id` varchar(20) NOT NULL,
UNIQUE KEY `unik` (`unik`),
UNIQUE KEY `id` (`order_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
我想说明过去12周月的销售额 - SUM(数量)确实是我,但我需要单独看每一个月,每一个产品和其总销售额那个月。我需要这一个表每个月显示该月
EXPECTED RESULT
Month: January 2012 Feb 2012 Marc 2012
Product1: 124 105 76
Product2: 34 23 56
Product3: 12 5 6
我是新来这个,所以请表现出耐心与每个产品总,如果我问一个百万个问题。
答
查询更改为
$query = "SELECT product, SUM(qty) FROM sh_orders where Product_month between '2011-01-01' and '2012-01-01' GROUP BY product";
答
这是你需要的查询:
SELECT order_date, product, SUM(qty) as sum_qty
FROM sh_orders
WHERE order_date > DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
GROUP BY YEAR(order_date), MONTH(order_date), product
结果是这种格式的数组:
array(
array(
'order_date' => '2012-09-02',
'product' => 'p2',
'sum_qty' => '2'
),
array(
// etc...
)
);
你只需要遍历它并以表格的形式显示结果。如果您在创建表格时遇到问题,最好在此接受答案并提出一个新问题,因为它与html
,loops
和arrays
更相关。
答
SELECT product,sum(qty),DATE_FORMAT(product_month, '%Y-%m') as month
FROM sh_orders
WHERE product_month BETWEEN DATE_SUB(now(), INTERVAL 12 MONTH)
AND now() group by DATE_FORMAT(product_month, '%Y%m'),product
每个产品在同一个月和不同日期有一些数量。首先按月分组,每月相同产品数量总结。第二组产品,避免在同一个月内产品重复
好吧,迄今为止的回应非常惊人,谢谢大家。我想也许我没有解释清楚我想做什么。我想得到一份报告,可以为每个月的每个产品单位销售情况。例如Jan2012 Product1 23,Product 3 12 then 2012年2月Product1 35,Product3 42等等。我试图张贴我想要实现的图片,但不会接受图片上传/。我可能还需要帮助格式化结果的外观。 – user2260925 2013-04-09 11:28:20
是的,谢谢你,我试了一下,现在的查询工作。我需要把它放在报告格式中,正如我在原始问题中所显示的那样,关于如何才能做到这一点的任何想法? – user2260925 2013-04-10 09:38:30
然后我再次用正确的信息编辑我的答案。 – enenen 2013-04-11 07:54:11