我想在一段时间内每月出售一家网店 我正在使用unix epoch(time())在表格中存储销售日期
售出的表格看起来像这样
+-----------+---------------------+---------+----------+
| id | product_id | price | date |
+-----------+---------------------+---------+----------+
| 1 | 20 | 2000 |1323299365|
+-----------+---------------------+---------+----------+
| 2 | 28 | 3500 |1323297389|
+-----------+---------------------+---------+----------+
我希望找到一段时间内的月度销售,例如
$from="3/2011";
$to ="4/2011";
我知道如何将这些日期更改为unix时间戳,并通过类似
的结果获得结果//explode from
//$from = maketime(x,x,x,x,x);
//explode to
//$to= maketime(x,x,x,x,x);
$query = "select * from `sold_table` where date > $from and `date` < $to ";
但我想要的是按月对结果进行分组,这样我就可以获得每月静态 我知道这个查询不起作用,但我想要这样的东西
$query = "select sum(`price of each month`) from `sold_table` where date > $from and `date` < $to group by month ";
所以我可以得到像
这样的结果march(03) = 25000$;
april(04) = 200$ ;
我可以每隔30天对结果进行分组,但我认为应该采用更清洁的方式
也许我可以找到介于1323299365和1323297389之间的月份,然后获得每月的每月销售额?但我不知道在两个纪元时间之间提取月份
答案 0 :(得分:1)
尝试这样的事情:
SELECT SUM(price), DATE_FORMAT(FROM_UNIXTIME(date), "%m") AS month FROM sold_table GROUP BY month
但是也要注意今年,你可以使用月份和年份的组合。