mysql函数

1. FROM_UNIXTIME()函数时间戳转换时间

SELECT FROM_UNIXTIME(1588238359) AS 时间;

2. year()获取时间的年份

SELECT YEAR('2020-04-30 17:19:19') AS 年;

3. month()获取时间的月份

SELECT MONTH('2020-04-30 17:19:19') AS 月;

4. day()获取时间的日

SELECT DAY('2020-04-30 17:19:19') AS 日;

下面查询统计 "每年" 的订单数和订单总金额(createtime在数据库为时间戳)

-- 下面查询统计每年的订单(createtime在数据库为时间戳)

-- 下面查询统计每年的订单(createtime在数据库为时间戳)

-- 订单数量

SELECT YEAR(FROM_UNIXTIME(createtime)) 年,COUNT(*) FROM `order` WHERE 1 GROUP BY YEAR(FROM_UNIXTIME(createtime));

-- 总金额

SELECT YEAR(FROM_UNIXTIME(createtime)) 年,SUM(price) FROM `order` WHERE 1 GROUP BY YEAR(FROM_UNIXTIME(createtime));

下面查询统计 "每月" 的订单数和订单总金额(createtime在数据库为时间戳)

-- 下面查询统计每月的订单(createtime在数据库为时间戳)

-- 订单数量

-- 下面查询统计每月的订单(createtime在数据库为时间戳)

-- 订单数量

SELECT YEAR(FROM_UNIXTIME(createtime)) 年,MONTH(FROM_UNIXTIME(createtime)) 月,COUNT(*) FROM `order` WHERE 1 GROUP BY YEAR(FROM_UNIXTIME(createtime)),MONTH(FROM_UNIXTIME(createtime));

-- 总金额

SELECT YEAR(FROM_UNIXTIME(createtime)) 年,MONTH(FROM_UNIXTIME(createtime)) 月,SUM(price) FROM `order` WHERE 1 GROUP BY YEAR(FROM_UNIXTIME(createtime)),MONTH(FROM_UNIXTIME(createtime));

下面查询统计 "每日" 的订单数和订单总金额(createtime在数据库为时间戳)

-- 下面查询统计每日的订单(createtime在数据库为时间戳)

-- 订单数量

-- 下面查询统计每日的订单(createtime在数据库为时间戳)

-- 订单数量

SELECT YEAR(FROM_UNIXTIME(createtime)) 年,MONTH(FROM_UNIXTIME(createtime)) 月,DAY(FROM_UNIXTIME(createtime)) 日,COUNT(*) FROM `order` WHERE 1 GROUP BY YEAR(FROM_UNIXTIME(createtime)),MONTH(FROM_UNIXTIME(createtime)),DAY(FROM_UNIXTIME(createtime));

-- 总金额

SELECT YEAR(FROM_UNIXTIME(createtime)) 年,MONTH(FROM_UNIXTIME(createtime)) 月,DAY(FROM_UNIXTIME(createtime)) 日,SUM(price) FROM `order` WHERE 1 GROUP BY YEAR(FROM_UNIXTIME(createtime)),MONTH(FROM_UNIXTIME(createtime)),DAY(FROM_UNIXTIME(createtime));

例1:统计每月的销售总金额

说明:

字段createTime 当前系统时间格式为yyyy-MM-dd HH:mm:ss;

字段 price 销售额;

CASE MONTH(createTime) WHEN '8' THEN price ELSE 0 end:获取字段createTime时间的月份,当月份为8月,获取8月所有的销售额,若没有销售额销售额则为0;

SUM(CASE MONTH(createTime) WHEN '8' THEN price ELSE 0 END):将8月所有的销售额进行合计;

IFNULL(SUM(CASE MONTH(createTime) WHEN '8' THEN price ELSE 0 END), 0) AS 八月份  :类似三元运算符,IFNULL(当月总销售额,0),假如销售额不为 NULL,则 IFNULL() 的返回值为当月总销售额,否则为0,AS别名为'八月份';

#{year}:要查询的年份;

select

IFNULL(SUM(CASE MONTH(createTime) WHEN '1' THEN price ELSE 0 END), 0) AS 一月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '2' THEN price ELSE 0 END), 0) AS 二月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '3' THEN price ELSE 0 END), 0) AS 三月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '4' THEN price ELSE 0 END), 0) AS 四月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '5' THEN price ELSE 0 END), 0) AS 五月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '6' THEN price ELSE 0 END), 0) AS 六月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '7' THEN price ELSE 0 END), 0) AS 七月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '8' THEN price ELSE 0 END), 0) AS 八月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '9' THEN price ELSE 0 END), 0) AS 九月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '10' THEN price ELSE 0 END), 0) AS 十月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '11' THEN price ELSE 0 END), 0) AS 十一月份,

IFNULL(SUM(CASE MONTH(createTime) WHEN '12' THEN price ELSE 0 END), 0) AS 十二月份

FROM `order`

WHERE YEAR(createTime)=#{year};

当年每月销售总额结果为:

例2:统计每月的销售总金额

-- 统计每月销售总金额

-- 统计每月销售总金额

SELECT

SUM(price),

cTime

FROM

(SELECT

oid,

price,

DATE_FORMAT(createtime, '%y-%c') cTime

FROM

`order`) AS o

GROUP BY cTime ;

查询每一天  每个订单 的总金额  并按时间排序

SELECT date(c_time) as time,

SUM(CASE WHEN orderID in('xxx') THEN among ELSE 0 END) as o,

SUM(CASE WHEN orderID in('fff') THEN among ELSE 0 END) as p,

SUM(CASE WHEN orderID in('iii','mmm') THEN among ELSE 0 END) as l,

SUM(CASE WHEN orderID in('rr','ww','ff') or orderID is null THEN among ELSE 0 END) as other

FROM order.detail where date(c_time) between '2001-01-02' and '2001-03-28' GROUP BY date(c_time)

原文链接:https://blog.csdn.net/BestEternity/article/details/106616367

标签:SUM,UNIXTIME,订单数,WHEN,MONTH,price,MySQL,查询,createtime

来源: https://blog.csdn.net/sirobot/article/details/114287767

mysql 求订单总金额,MySQL查询 每年 每月 每日 订单数和订单金额相关推荐

  1. 【MySQL】一条SQL查询本年度每月即将退休的人数?

    通过SQL来查询本年度员工退休情况统计,其中男性60周岁退休,女性副处级以上(含副处)60周岁退休,副处级以下则是55周岁退休. 0.本年度第一天 $year_start = date('Y-01-0 ...

  2. SQLServer查询每年/每月/每日最新一条数据

    查询每年最新一条数据 select a.* from (select *,row_number() over(partition by CONVERT(varchar(4), time_name, 1 ...

  3. 10-218 在订单表中查询运费的平均值

    分数 3 全屏浏览题目 切换布局 作者 刘冬霞 单位 山东理工大学 在订单表中查询运费的平均值. 表结构: 订单(订单编号 文本型,顾客编号 文本型,员工编号 文本型,订单日期 日期型,运费 数字型) ...

  4. Mysql求两个表(查询结果)的差集

    Mysql求两个表(查询结果)的差集 两个查询结果的差集,mysql直接提供了关键字not in,而且我们也一般先会想到这个查询方式.但是在数据量多的情况之下,效率会很低,这是必须使用左链接的方式求查 ...

  5. mysql求女生人数_Python 之 MySql 每日一练 228——查询男生,女生人数

    一.表名和字段 –1. 学生表 student (s_id,s_name,s_birth,s_sex) –学生编号,学生姓名,出生年月,学生性别 –2. 课程表 course (c_id,c_name ...

  6. mysql查询每个用户最新的一条订单

    表结构:id,user_id,order_status,create_time,update_time- 子查询加表连接查询: select b.* FROM (SELECT max(create_t ...

  7. mysql实验训练2 数据查询操作_实验训练2:数据查询操作

    <实验训练2:数据查询操作>由会员分享,可在线阅读,更多相关<实验训练2:数据查询操作(6页珍藏版)>请在人人文库网上搜索. 1.实验训练2:数据查询操作请到电脑端查看实验目的 ...

  8. mysql实验训练2 数据查询操作_实验训练2:数据查询操作.doc

    实验训练2:数据查询操作.doc 实验训练2数据查询操作请到电脑端查看实验目的基于实验1创建的汽车用品网上商城数据库Shopping,理解MySQL运算符.函数.谓词,练习Select语句的操作方法. ...

  9. mysql 分组top_MySQL:如何查询出每个分组中的 top n 条记录?

    问题描述 需求: 查询出每月 order_amount(订单金额) 排行前3的记录. 例如对于2019-02,查询结果中就应该是这3条: 解决方法 MySQL 5.7 和 MySQL 8.0 有不同的 ...

  10. java中mysql分组查询_ES对应mysql的group by分组查询javaApi,多对多关系的分组查询...

    ES对应mysql的group by分组查询javaApi,多对多关系的分组查询 比如我这边有个下列订单索引数据,现在的需求是按用户(fmerchantId)和支付方式(fchannelId)进行分组 ...

最新文章

  1. VR企业深圳瑞立视完成8000万A轮融资,广州科学城集团投资
  2. 一步步教你轻松学朴素贝叶斯模型算法理论篇1
  3. 对齐内容验证码和图片
  4. 笔记 - AliCloud 云数据库 简介
  5. 知识即战斗力!数学家华罗庚投入特殊抗战,一夜译破日军密码
  6. 【Elasticsearch】Elasticsearch的IndexSorting:一种查询性能优化利器
  7. oracle列表分区ADD VALUES或DROP VALUES包含数据变化
  8. 跟据URL来实现WebService
  9. 整数规划遗传算法MATLAB,非线性整数规划的遗传算法Matlab程序
  10. FastReport.Net 常用功能总汇
  11. kali永久获取root权限
  12. DockOne微信分享(六十六): Docker网络方案初探
  13. 利益相关者在敏捷项目管理中有什么用?
  14. Vmware 网络编辑器 /Windows网络适配器
  15. 技术实验—使用selenium打开百度搜索关键字
  16. Hibernate的三种检索策略
  17. Timer定时器详解
  18. P1386 座位安排
  19. 科目三必看要点 驾驶经验汇总
  20. 使用IE浏览器下载文件,文件名中文名称乱码

热门文章

  1. unity跳跃按钮_Unity——#04 跳跃
  2. Android 分享到Instagram
  3. 华为鸿蒙智慧屏和手机,【荣耀智慧屏评测】鸿蒙初体验:荣耀智慧屏跨系统交互构建新生态(全文)_荣耀 智慧屏_手机评测-中关村在线...
  4. 你可能修了一个假的“不净观”
  5. _, predicted = torch.max(outputs, 1),_,的作用
  6. 懒人教你用猕猴桃一月饱减16斤_过路老熊_新浪博客
  7. 可变卷积(Deformable ConvNets)算法的MXNet实现
  8. 三点共线,向量计算其中一点坐标
  9. win8连接wifi成功但受限制_用于 手机热点或WIFI网络的IM143DTU使用手册
  10. 记英语单词中第一个易混淆的单词组attain achieve acquire