最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel統(tǒng)計一段時間間隔的數據方法

 更新時間:2019年10月09日 15:09:37   作者:SHUIPING_YANG  
今天小編就為大家分享一篇Laravel統(tǒng)計一段時間間隔的數據方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

獲取七天以前到現在的數據:

$days = Input::get('days', 7);

$range = \Carbon\Carbon::now()->subDays($days);

$stats = User::where('created_at', '>=', $range)
 ->groupBy('date')
 ->orderBy('date', 'DESC')
 ->get([
  DB::raw('Date(created_at) as date'),
  DB::raw('COUNT(*) as value')
 ]);

SELECT 
sum(case when `EmailSource`='FM' then 1 else 0 end) as FM_Statistic,
sum(case when `EmailSource`='UOC' then 1 else 0 end) as UOC_Statistic,
sum(case when `EmailSource`='OC' then 1 else 0 end) as OC_Statistic,
DATE_FORMAT(Date,'%Y-%m-%d') AS `DateTime` 
FROM `user_performance` 
WHERE Email != '' AND Email != 'TOTAL'
AND (DATE_FORMAT(Date,'%Y-%m-%d') >= DATE_FORMAT('2011-02-5','%Y-%m-%d')) 
AND (DATE_FORMAT(Date,'%Y-%m-%d') <= DATE_FORMAT('2011-03-07','%Y-%m-%d')) 
GROUP BY `Date`
 public function getNumber()
 {
  $data = [];
  $customers = Customer::all(['id', 'customer_type', 'created_at']);

  #今天數據
  $data['customer_today'] = Customer::where('customer_type', 1)->where('created_at', Carbon::today())->count();
  $data['teacher_today'] = Customer::where('customer_type', 2)->where('created_at', Carbon::today())->count();

  #昨天數據
  $data['customer_yesterday'] = Customer::where('customer_type', 1)->where('created_at', Carbon::yesterday())->count();
  $data['teacher_yesterday'] = Customer::where('customer_type', 2)->where('created_at', Carbon::yesterday())->count();

  $data['today'] = $data['customer_today'] + $data['teacher_today'];
  $data['yesterday'] = $data['customer_yesterday'] + $data['teacher_yesterday'];

  // 本周數據
  $this_week = [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()];
  $data['customer_this_week'] = Customer::where('customer_type', 1)->whereBetween('created_at', $this_week)->count();

  $data['teacher_this_week'] = Customer::where('customer_type', 2)->whereBetween('created_at', $this_week)->count();

  // 上周數據
  $last_week = [Carbon::now()->startOfWeek()->subWeek(), Carbon::now()->endOfWeek()->subWeek()];
  $data['customer_last_week'] = Customer::where('customer_type', 1)->whereBetween('created_at', $last_week)->count();

  $data['teacher_last_week'] = Customer::where('customer_type', 2)->whereBetween('created_at', $last_week)->count();

  $data['this_week'] = $data['customer_this_week'] + $data['teacher_this_week'];
  $data['last_week'] = $data['customer_last_week'] + $data['teacher_last_week'];

  // 本月數據
  $data['customer_this_month'] = Customer::where('customer_type', 1)->whereMonth('created_at', Carbon::now()->month)->count();
  $data['teacher_this_month'] = Customer::where('customer_type', 2)->whereMonth('created_at', Carbon::now()->month)->count();

  // 上月數據
  $data['customer_last_month'] = Customer::where('customer_type', 1)->whereMonth('created_at', Carbon::now()->subMonth()->month)->count();
  $data['teacher_last_month'] = Customer::where('customer_type', 2)->whereMonth('created_at', Carbon::now()->subMonth()->month)->count();

  $data['this_month'] = $data['customer_this_month'] + $data['teacher_this_month'];
  $data['last_month'] = $data['customer_last_month'] + $data['teacher_last_month'];

  // 本年數據
  $data['customer_this_year'] = Customer::where('customer_type', 1)->whereYear('created_at', Carbon::now()->year)->count();
  $data['teacher_this_year'] = Customer::where('customer_type', 2)->whereYear('created_at', Carbon::now()->year)->count();

  $data['today_login_users'] = LoginLog::whereDate('created_at', '=', Carbon::today())
   ->groupBy('customer_id')
   ->orderBy('customer_id')
   ->count();

  $data['yesterday_login_users'] = LoginLog::whereDate('created_at', '=', Carbon::yesterday())
   ->groupBy('customer_id')
   ->orderBy('customer_id')
   ->count();

  $data['this_month_login_users'] = LoginLog::whereMonth('created_at', Carbon::now()->month)
   ->groupBy('customer_id')
   ->orderBy('customer_id')
   ->count();

  $data['last_month_login_users'] = LoginLog::whereMonth('created_at', Carbon::now()->subMonth()->month)
   ->groupBy('customer_id')
   ->orderBy('customer_id')
   ->count();

  return $data;
 }
 public function numberCount()
 {
  $days = request('days', 7);

  $range = Carbon::today()->subDays($days);

  $day_stats = Customer::where('created_at', '>=', $range)
   ->groupBy('date')
   ->orderBy('date', 'DESC')
   ->get([
    \DB::raw('DATE_FORMAT(created_at,\'%Y-%m-%d\') as date,SUM(CASE WHEN customer_type = 1 THEN 1 ELSE 0 END) AS customer,SUM(CASE WHEN customer_type = 2 THEN 1 ELSE 0 END) AS teacher'),
   ])
   ->toJSON();

  $week_stats = Customer::groupBy('week')
   ->orderBy('week', 'DESC')
   ->get([
    \DB::raw('DATE_FORMAT(created_at,\'%Y W%u\') as week,SUM(CASE WHEN customer_type = 1 THEN 1 ELSE 0 END) AS customer, SUM(CASE WHEN customer_type = 2 THEN 1 ELSE 0 END) AS teacher'),
   ])
   ->toJSON();
  // dd($week_stats);

  // \DB::enableQueryLog();
  $month_stats = Customer::groupBy('month')
   ->orderBy('month', 'DESC')
   ->get([
    \DB::raw('DATE_FORMAT(created_at,\'%Y-%m\') as month,SUM(CASE WHEN customer_type = 1 THEN 1 ELSE 0 END) AS customer,SUM(CASE WHEN customer_type = 2 THEN 1 ELSE 0 END) AS teacher'),
   ])
   ->toJSON();
  // dd(\DB::getQueryLog());
  // dd($week_stats, $month_stats);
  $data = $this->getNumber();
  // dd($day_stats, $week_stats, $month_stats, $data);
  return view('admin.numberCount', compact('day_stats', 'week_stats', 'month_stats', 'data'));
 }

效果圖:

以上這篇Laravel統(tǒng)計一段時間間隔的數據方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • thinkPHP實現基于ajax的評論回復功能

    thinkPHP實現基于ajax的評論回復功能

    這篇文章主要介紹了thinkPHP實現基于ajax的評論回復功能,結合實例形式分析了thinkPHP實現ajax評論回復所涉及的控制器、視圖、樣式、js使用post進行ajax提交、并附帶了相應的SQL語句,需要的朋友可以參考下
    2018-06-06
  • Linux下將excel數據導入到mssql數據庫中的方法

    Linux下將excel數據導入到mssql數據庫中的方法

    在Linux下把excel數據導入到mssql數據庫中,這實在是很搞笑的一個活動!幾乎很少有程序員研究過這個問題吧?如此變態(tài)的問題,估計我是第一個研究的!呵呵,完全是自找苦吃~~,但是今天完了這項太有挑戰(zhàn)性的工作!
    2010-02-02
  • 一個模仿oso的php論壇程序(之一)

    一個模仿oso的php論壇程序(之一)

    一個模仿oso的php論壇程序(之一)...
    2007-03-03
  • Linux平臺中使用PHP把word轉pdf的實現方法

    Linux平臺中使用PHP把word轉pdf的實現方法

    下面小編就為大家?guī)硪黄狶inux平臺中使用PHP把word轉pdf的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • PHP判斷是手機端還是PC端 PHP判斷是否是微信瀏覽器

    PHP判斷是手機端還是PC端 PHP判斷是否是微信瀏覽器

    這篇文章主要為大家詳細介紹了PHP判斷是手機端還是PC端,以及PHP判斷是否是微信瀏覽器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • PHP中設置一個嚴格30分鐘過期Session面試題的4種答案

    PHP中設置一個嚴格30分鐘過期Session面試題的4種答案

    這篇文章主要介紹了PHP中設置一個嚴格30分鐘過期Session面試題的4種答案,需要的朋友可以參考下
    2014-07-07
  • 在Win7 中為php擴展配置Xcache

    在Win7 中為php擴展配置Xcache

    XCache是一個又快又穩(wěn)定的PHP opcode緩存器.經過良好的測試并在大流量/高負載的生產機器上穩(wěn)定運行.經過(在linux上)測試并支持所有現行PHP分支的最新發(fā)布版本,如php5.0~5.6(x64和x86),并支持線程安全/Windows.與同類opcode緩存器相比更勝一籌, 比如能夠快速跟進PHP版本.
    2014-10-10
  • ThinkPHP的Widget擴展實例

    ThinkPHP的Widget擴展實例

    這篇文章主要介紹了ThinkPHP的Widget擴展 ,需要的朋友可以參考下
    2014-06-06
  • PhpStorm terminal無法輸入命令的解決方法

    PhpStorm terminal無法輸入命令的解決方法

    下面小編就為大家?guī)硪黄狿hpStorm terminal無法輸入命令的解決方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 數字轉英文

    數字轉英文

    數字轉英文...
    2006-12-12

最新評論

垣曲县| 包头市| 江西省| 西乌珠穆沁旗| 玉门市| 温宿县| 玛曲县| 黎城县| 嘉兴市| 阿克陶县| 苏尼特右旗| 调兵山市| 马公市| 高尔夫| 静海县| 阳原县| 邢台市| 呈贡县| 昌黎县| 红河县| 共和县| 山丹县| 曲阜市| 苍溪县| 县级市| 社会| 星座| 陵川县| 新民市| 织金县| 济南市| 河北区| 平原县| 武功县| 三门峡市| 视频| 佛冈县| 精河县| 卢湾区| 江门市| 施秉县|