MySQL按天/周/月/季度/半年/年统计数据

时间:2021-09-04 05:40:13   收藏:0   阅读:15

MySQL按天/周/月/季度/半年/年统计数据

1、用到的mysql函数

2、数据表

id order_amount add_time
1 16.99 1598806195
2 17.99 1598919265
... ... ...

3、编码

3.1、按天统计

SELECT
  FROM_UNIXTIME(add_time,‘%c月%e日‘) 日期,
	count(*) 订单数,
	sum(order_amount) 订单金额
FROM
	`order` 
GROUP BY
	日期;

查询结果:

日期 订单数 订单金额
8月31日 24 1377.19
9月1日 10 407.76

3.2、按周统计

SELECT
  FROM_UNIXTIME(add_time,‘%Y年%u周‘) 日期,
	count(*) 订单数,
	sum(order_amount) 订单金额
FROM
	`order` 
GROUP BY
	日期;

查询结果:

日期 订单数 订单金额
2020年36周 34 1784.95

3.3、按月统计

SELECT
  FROM_UNIXTIME(add_time,‘%Y年%c月‘) 日期,
	count(*) 订单数,
	sum(order_amount) 订单金额
FROM
	`order` 
GROUP BY
	日期;

查询结果:

日期 订单数 订单金额
2020年8月 24 1377.19
2020年9月 10 407.76

3.4、按季度统计

SELECT
  CONCAT(YEAR(FROM_UNIXTIME(add_time)),‘年第‘,QUARTER(FROM_UNIXTIME(add_time)),‘季度‘) 日期,
	count(*) 订单数,
	sum(order_amount) 订单金额
FROM
	`order` 
GROUP BY
	日期;

查询结果:

日期 订单数 订单金额
2020年第3季度 34 1784.95

3.5、按半年统计

SELECT
	CONCAT(YEAR(FROM_UNIXTIME(add_time)),‘年‘,IF(CEIL(QUARTER(FROM_UNIXTIME(add_time))/2)=1,‘上‘,‘下‘),‘半年‘) 日期,
	count(*) 订单数,
	sum(order_amount) 订单金额
FROM
	`order` 
GROUP BY
	日期;

查询结果:

日期 订单数 订单金额
2020年下半年 34 1784.95

3.6、按年统计

SELECT
  FROM_UNIXTIME(add_time,‘%Y年‘) 日期,
	count(*) 订单数,
	sum(order_amount) 订单金额
FROM
	`order` 
GROUP BY
	日期;

查询结果:

日期 订单数 订单金额
2020年 34 1784.95

原文:https://www.cnblogs.com/mg007/p/15222989.html

评论(0)
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!