MySQL按天/周/月/季度/半年/年统计数据
FROM_UNIXTIME(时间戳, 格式)
select FROM_UNIXTIME(‘1598812205‘,‘%Y-%m-%d‘);
# 2021-09-03
YEAR(时间字符)
返回时间中的年份
select YEAR(‘2021-09-03‘);
# 2021
QUARTER(时间字符)
返回时间中的季度,1-4
select QUARTER(‘2021-09-03‘);
# 3
IF(条件, 正确值, 错误值)
判断条件,条件满足返回正确值,条件不满足返回错误值
select IF(1=1,‘正确‘,‘错误‘);
# 正确
浮点数取整
ceil(): 向上取整
floor():向下取整
round():四舍五入
select ceil(4.5); # 5
select floor(4.5); # 4
select round(4.4); # 4
select round(4.5); # 5
CONCAT(字符1,字符2,...)
拼接字符
select CONCAT(‘aa‘,‘bb‘,‘cc‘);
# aabbcc
id | order_amount | add_time |
---|---|---|
1 | 16.99 | 1598806195 |
2 | 17.99 | 1598919265 |
... | ... | ... |
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 |
SELECT
FROM_UNIXTIME(add_time,‘%Y年%u周‘) 日期,
count(*) 订单数,
sum(order_amount) 订单金额
FROM
`order`
GROUP BY
日期;
查询结果:
日期 | 订单数 | 订单金额 |
---|---|---|
2020年36周 | 34 | 1784.95 |
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 |
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 |
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 |
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