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

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

Laravel Eloquent concat 和 groupBy() AND 返回每組的一個(gè)標(biāo)題

Laravel Eloquent concat 和 groupBy() AND 返回每組的一個(gè)標(biāo)題

PHP
哆啦的時(shí)光機(jī) 2023-10-01 17:27:01
我有一個(gè)表,除其他列外,還包含一列瀏覽器版本。我只是想從記錄集中知道每種類(lèi)型的瀏覽器有多少個(gè)。我的代碼是:$whereBrowser = [['owner', '=', 12]];        $browser = ProfileTracker::where($whereBrowser)->whereBetween('created_at', [Carbon::now()->startOfMonth(), Carbon::now()->endOfMonth()])->select([            DB::raw('browser'),            DB::raw('COUNT(browser) as value')        ])->groupBy("browser")->orderBy("value", "desc")->take(10)->get();輸出 :          "browser": [              {                  "browser": "Chrome Mobile 84",                  "value": 144              },              {                  "browser": "Chrome Mobile 80",                  "value": 84              },              {                  "browser": "Chrome 84",                  "value": 27              },              {                  "browser": "Chrome 30",                  "value": 22              },              {                  "browser": "Chrome Mobile 83",                  "value": 19              },              {                  "browser": "Chrome Mobile 47",                  "value": 10              },              {                  "browser": "Firefox 79",                  "value": 8              },              {                  "browser": "Mobile Safari",                  "value": 8              },              {                  "browser": "Mobile Safari 13.1.2",                  "value": 6              }          ],               }我想對(duì)所有瀏覽器進(jìn)行分組,沒(méi)有瀏覽器版本,如下所示:            "browser": [                {                    "browser": "Chrome",                    "value": 306                },                {                    "browser": "Safari",                    "value": 14                },                {                    "browser": "Firefox",                    "value": 8                },            ],                   }
查看完整描述

2 回答

?
慕仙森

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

實(shí)現(xiàn)此目的的一種方法是在字符串中查找瀏覽器名稱(chēng),并將它們解析為查詢(xún)中的瀏覽器名稱(chēng)。所以類(lèi)似的東西Mobile Safari 15.1.2將被解析為Safari:


ProfileTracker::selectRaw('

    CASE 

        WHEN browser LIKE '%firefox%' THEN 'Firefox'

        WHEN browser LIKE '%chrome%' THEN 'Chrome'

        WHEN browser LIKE '%safari%' THEN 'Safari'

    END AS browser_name,

    count(1) AS count

')->groupBy('browser_name')->get();

請(qǐng)注意,我刪除了查詢(xún)生成器的部分內(nèi)容,以使此示例更具可讀性。您可以自己添加回您需要的任何內(nèi)容。


這會(huì)給你:


Chrome  1

Firefox 1

Safari  2

我的測(cè)試數(shù)據(jù)是:


"Chrome Mobile"

"Firefox 79"

"Mobile Safari 13.1.2"

"Mobile Safari 15.1.2"


查看完整回答
反對(duì) 回復(fù) 2023-10-01
?
心有法竹

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

您可以使用 SUBSTRING_INDEX 函數(shù)來(lái)提取瀏覽器名稱(chēng)的第一個(gè)字符串:

      $browser = ProfileTracker::where($whereBrowser)
      ->selectRaw("browser,SUBSTRING_INDEX(browser, ' ', 1) AS BrowserName,COUNT(browser) as value")
      ->whereBetween('created_at', [Carbon::now()->startOfMonth(), Carbon::now()->endOfMonth()])
      ->groupBy("BrowserName")->orderBy("value", "desc")->take(10)->get();


查看完整回答
反對(duì) 回復(fù) 2023-10-01
  • 2 回答
  • 0 關(guān)注
  • 124 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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