第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 Laravel 中創(chuàng)建一個(gè)返回按日期分組且不重復(fù)的數(shù)據(jù)的查詢

如何在 Laravel 中創(chuàng)建一個(gè)返回按日期分組且不重復(fù)的數(shù)據(jù)的查詢

PHP
猛跑小豬 2023-09-08 10:36:47
我的數(shù)據(jù)庫(kù)中有一個(gè)表scans,其中記錄了用戶的掃描活動(dòng),并且用戶一天可以進(jìn)行多個(gè)活動(dòng)。我正在尋找獲取特定用戶在幾天內(nèi)所有掃描的總和的最佳方法。我已經(jīng)在代碼中嘗試了以下操作,但我想我遺漏了一些東西,因?yàn)槲蚁刖酆袭?dāng)天進(jìn)行的用戶的掃描。 DB::table('scans')->select(DB::raw('count(*) as total, scanner, created_at'))->where('scanner', 'Jon Snow')->groupBy('created_at')->get()=> Illuminate\Support\Collection {#3313     all: [       {#3304         +"total": 1,         +"scanner": "Jon Snow",         +"created_at": "2020-07-26 19:43:58",       },       {#3321         +"total": 1,         +"scanner": "Jon Snow",         +"created_at": "2020-07-26 19:32:40",       },       {#3327         +"total": 1,         +"scanner": "Jon Snow",         +"created_at": "2020-07-28 19:44:18",       },       {#3323         +"total": 1,         +"scanner": "Jon Snow",         +"created_at": "2020-07-28 20:30:30",       },所以代替這個(gè):       {#3304         +"total": 1,         +"scanner": "Jon Snow",         +"created_at": "2020-07-26 19:32:58",       },       {#3321         +"total": 1,         +"scanner": "Jon Snow",         +"created_at": "2020-07-26 19:43:40",       },我想要這個(gè):       {#3304         +"total": 2,         +"scanner": "Jon Snow",         +"created_at": "2020-07-26",       },       {#3304         +"total": 5,         +"scanner": "Jon Snow",         +"created_at": "2020-07-28",       },
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

問(wèn)題:

目前您正在執(zhí)行groupBy(created_at)。由于幾乎所有掃描都有不同的日期時(shí)間,因此 groupBy 將無(wú)法按預(yù)期工作。


解決方案:

如果我理解正確的話,您需要按 create_at 的日期進(jìn)行 groupBy 而不需要時(shí)間。為此,您必須僅選擇日期時(shí)間列的日期部分。有兩種方法可以做到這一點(diǎn):

DB::raw('count(*) as total, DATE_FORMAT(created_at, "%Y-%m-%d") as someDate, scanner')
->where('scanner', 'Jon Snow')
->groupBy('someDate')
->get()

@編輯

你也可以這樣做DATE(created_at) as someDate


例子:

我的數(shù)據(jù)庫(kù)中插入了 4 個(gè)用戶:

  • 2 個(gè)已創(chuàng)建_at => '2020-05-05 10:10:10'

  • 2 個(gè)已創(chuàng)建_at => '2020-10-10 10:10:10'

結(jié)果:

Illuminate\Support\Collection {#1945

  #items: array:2 [

    0 => {#1952

      +"count": 2

      +"new_date": "2020-05-05"

    }

    1 => {#2092

      +"count": 2

      +"new_date": "2020-10-10"

    }

  ]

}


查看完整回答
反對(duì) 回復(fù) 2023-09-08
  • 1 回答
  • 0 關(guān)注
  • 98 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)