1. 程式人生 > >MYSQL統計每年、每月、每日的資料

MYSQL統計每年、每月、每日的資料

日常我們經常需要查詢每年、或者每月等等的資料資訊(例如訪問記錄、訂單資訊等等),以下方法是查詢每年、每月、或每日的方法!

這是測試的訂單資訊,包括了上一年的交易資訊,還有每月的多條交易資訊(下面會附上資料表程式碼)


查詢每年資料

select SUM(total) AS total FROM `order` GROUP BY YEAR(trade_time)
查詢每月資料
select SUM(total) AS total FROM `order` GROUP BY MONTH(trade_time)

查詢每週資料
select SUM(total) AS total FROM `order` GROUP BY WEEK(trade_time)
查詢每日資料
select SUM(total) AS total FROM `order` GROUP BY DAY(trade_time)

附上測試資料表的程式碼(放進資料庫執行即可)
DROP TABLE IF EXISTS `order`;
CREATE TABLE `order` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `order` varchar(100) DEFAULT NULL COMMENT '訂單',
  `total` decimal(10,2) DEFAULT NULL COMMENT '交易金額',
  `trade_time` timestamp NULL DEFAULT NULL COMMENT '交易時間',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `order`
-- ----------------------------
BEGIN;
INSERT INTO `order` VALUES ('1', '111111', '100.00', '2016-11-11 10:11:27'), ('2', '22222', '200.00', '2016-12-22 10:08:52'), ('3', '33333', '150.00', '2017-10-16 10:11:45'), ('4', '44444', '300.00', '2017-10-18 10:12:07'), ('5', '55555', '400.00', '2017-11-01 10:12:07');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;