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

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

ThinkPHP5 (mySQL) group 统计各价格区间内数据

梦之中小俊
2024-01-22 / 0 评论 / 347 阅读 / 推送成功!
  • 背景
    今天在进行后台数据监控操作时
    需要获取时间段内不同价格区间的商品订单量
    而商品价格各个数值的都有,选用使用 FLOOR()、GROUP 处理
    在此,整理一下,还请指教…

  • PHP 实现源码:

    Db::name('xorder_goods og')
    ->field("FLOOR(og.order_amount/100) price,count(og.id) count")
    ->join("xorder_infos oi","oi.order_id = og.order_id")
    ->where([["pay_status","=",1]])
    ->group('price')
    ->order('price','asc')
    ->select();

    • 对应生成的 mysql 语句如下:

    SELECT FLOOR(og.order_amount/100) price,count(og.id) count
    FROM tp5_xorder_goods og
    INNER JOIN `tp5_xorder_infos` `oi` ON `oi`.`order_id`=`og`.`order_id`
    WHERE `pay_status` = 1
    GROUP BY `price`
    ORDER BY `price` ASC

    • 此时,一般需要对所得到的数据进行处理一番,以鄙人业务为例,处理方式如下:
    • $titleArr = [];
      		//$res 为前面得到的数据
             foreach ($res as $key => $value){
                 $price = $value['price'];
                 if ($price > 0){
                     $price_range = $price."00-".intval($price+1)."00(元)";
                 }else{
                     $price_range = "0-".intval($price+1)."00(元)";
                 }
                 $res[$key]['name'] = $price_range;
                 $res[$key]['value'] = $value['count'];
                 $titleArr[] = $price_range;
             }
      

       

      • 得到的数据如下:
      • 本人嵌入 ECHARTS 图表展示,最终效果如下:




  •  
本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读: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

    回复