如何在MySQL中创建每月总计查询?

shi*_*hin 2 mysql statistics

我有以下数据库.

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;
Run Code Online (Sandbox Code Playgroud)

我想创建一个统计页面,以查看每月的总付款和总订单.

在一个页面中,我想显示这样的东西.

Month    Year    Total Order    Total Payment
Sep       09       800             760
Oct       09       670             876
Nov
...
...
Run Code Online (Sandbox Code Playgroud)

现在我不知道如何为此创建查询.

谁能给我一些想法如何处理这个?

小智 8

您可以使用Mysql日期和时间函数对每个月的行进行分组,然后将它们相加.这样的事情可能是一个起点:

  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);
Run Code Online (Sandbox Code Playgroud)

我不确定你是如何计算值的Total Payment.

编辑:sum()是一个MySQL函数.