我有以下数据库。
CREATE TABLE IF NOT EXISTS `omc_order` (
`order_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`customer_id` int(10) unsigned NOT NULL,
`total` decimal(10,2) NOT NULL,
`order_date` datetime NOT NULL,
`delivery_date` datetime NOT NULL,
`payment_date` datetime NOT NULL,
PRIMARY KEY (`order_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=32;
我想创建一个统计页面,以查看每月的总付款和总订单。
在一个页面中我想显示这样的内容。
Month Year Total Order Total Payment
Sep 09 800 760
Oct 09 670 876
Nov
...
...
现在我不确定如何为此创建查询。
有人能给我一些想法如何解决这个问题吗?
答案 0 :(得分:7)
您可以使用Mysql date and time functions对每个月的行进行分组,然后将它们相加。这样的事情可能是一个起点:
SELECT monthname(payment_date) AS Month,
year(payment_date) AS Year,
sum(total) AS 'Total Order',
sum(??) AS 'Total Payment'
FROM omc_order
ORDER BY payment_date
GROUP BY month(payment_date),
year(payment_date);
我不确定如何计算Total Payment
的值。
修改:sum()
是MySQL function。
答案 1 :(得分:0)
您需要将日期时间转换为装载,然后按
分组SELECT SUM(foo), MONTH(mydate) DateOnly FROM a_table GROUP BY DateOnly;
看一个接近的问题:
答案 2 :(得分:0)
以下内容可帮助您入门。
select sum(total) from omc_order group by month(order_date), year(order_date)