侧边栏壁纸
博主昵称
梦之中小俊

以前高中时,羡慕大学考试只要及格就行;现在大学了,怀念高中考试及不及格都行??

MySQL如何按日期获取指定时间段内订单总数

梦之中小俊
2023-06-25 / 0 评论 / 346 阅读 / 推送成功!
SELECT
FROM_UNIXTIME(`addtime`, '%Y-%m-%d') AS time,
COUNT(1) AS '总单量(订单总数)',
SUM( CASE WHEN `status`=1 THEN 1 ELSE 0 END ) AS '已支付(订单总数)',
SUM( CASE WHEN `status`=1 THEN payprice ELSE 0 END ) AS '已收款(订单总价)'
FROM `lm_mtorder`
WHERE FROM_UNIXTIME(`addtime`, '%Y-%m-%d') BETWEEN '2023-06-20' AND '2023-06-25'

GROUP BY time
ORDER BY time DESC

 

需求:如何对订单支付记录表,获取指定日期之间,每天的的订单分布,比如想获取 2020-08-01到 2020-09-25,每日的订单分布。

如下表结构:

 

 思路如下:

主要是添加时间字段add_time,进行处理,变成日期格式;
然后通过BETWEEN操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围,来匹配日期范围;
接下来通过CASE WHEN exc THEN 1 ELSE 0 END语句进行分类查询获取订单分布情况;
最后通过GROUP BY 对新增处理后的时间time进行分组,按天返回每日订单,和ORDER BY time DESC降序;

SQL写法如下:

复制代码

add_time  字段是时间戳


SELECT 
      FROM_UNIXTIME(add_time, '%Y-%m-%d') AS time,
      COUNT(1) AS '总单量(订单总数)',
      SUM( CASE WHEN pay_status=1 THEN 1 ELSE 0 END ) AS '已支付(订单总数)',
      SUM( CASE WHEN pay_status=1 THEN  money ELSE  0 END ) AS '已收款(订单总价)',
      SUM( CASE WHEN pay_status=0 THEN  1 ELSE  0 END ) AS '已支付(订单总数)',
      SUM( CASE WHEN pay_status=0 THEN  money ELSE  0 END ) AS '待支付(订单总数)'
FROM `pw_pay_log` 
WHERE FROM_UNIXTIME(add_time, '%Y-%m-%d') BETWEEN '2020-08-18' AND '2020-09-11'
GROUP BY time
ORDER BY time DESC;








add_time  字段是Y-m-d H:i:s


SELECT 
      
      DATE_FORMAT(create_time, '%Y-%m-%d') AS time,
      COUNT(1) AS '总单量(订单总数)',
      SUM( CASE WHEN is_status=3 THEN 1 ELSE 0 END ) AS '已支付(订单总数)',
      SUM( CASE WHEN is_status=3 THEN  member_commission ELSE  0 END ) AS '已收款(订单总价)',
      SUM( CASE WHEN is_status=3 THEN  1 ELSE  0 END ) AS '已支付(订单总数)',
      SUM( CASE WHEN is_status=3 THEN  member_commission ELSE  0 END ) AS '待支付(订单总数)'
FROM `lm_tmpgorder` 
WHERE DATE_FORMAT(create_time, '%Y-%m-%d') BETWEEN '2023-06-20' AND '2023-06-25'
GROUP BY time
ORDER BY time DESC
复制代码

最后查询结果如下:

 

本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读:0时0分0秒。
3

打赏

评论 (0)

OωO
  • ::(呵呵)
  • ::(哈哈)
  • ::(吐舌)
  • ::(太开心)
  • ::(笑眼)
  • ::(花心)
  • ::(小乖)
  • ::(乖)
  • ::(捂嘴笑)
  • ::(滑稽)
  • ::(你懂的)
  • ::(不高兴)
  • ::(怒)
  • ::(汗)
  • ::(黑线)
  • ::(泪)
  • ::(真棒)
  • ::(喷)
  • ::(惊哭)
  • ::(阴险)
  • ::(鄙视)
  • ::(酷)
  • ::(啊)
  • ::(狂汗)
  • ::(what)
  • ::(疑问)
  • ::(酸爽)
  • ::(呀咩爹)
  • ::(委屈)
  • ::(惊讶)
  • ::(睡觉)
  • ::(笑尿)
  • ::(挖鼻)
  • ::(吐)
  • ::(犀利)
  • ::(小红脸)
  • ::(懒得理)
  • ::(勉强)
  • ::(爱心)
  • ::(心碎)
  • ::(玫瑰)
  • ::(礼物)
  • ::(彩虹)
  • ::(太阳)
  • ::(星星月亮)
  • ::(钱币)
  • ::(茶杯)
  • ::(蛋糕)
  • ::(大拇指)
  • ::(胜利)
  • ::(haha)
  • ::(OK)
  • ::(沙发)
  • ::(手纸)
  • ::(香蕉)
  • ::(便便)
  • ::(药丸)
  • ::(红领巾)
  • ::(蜡烛)
  • ::(音乐)
  • ::(灯泡)
  • ::(开心)
  • ::(钱)
  • ::(咦)
  • ::(呼)
  • ::(冷)
  • ::(生气)
  • ::(弱)
  • ::(狗头)
泡泡
阿鲁
颜文字
取消
  1. 头像
    6767 Lv.1
    iPhone · Safari
    沙发

    画图

    回复
  2. 头像
    6767 Lv.1
    Windows 10 · Google Chrome
    板凳

    表情

    回复
  3. 头像
    透露 Lv.2
    Android · QQ Browser
    第30楼

    649494848

    回复