簡體   English   中英

如何在 Laravel 中獲取大於 x 的記錄數(使用 MySQL 查詢)

[英]How to get records count greater than x (using MySQL Query) in Laravel

$lists = DB::table('searches')->orderBy('query', 'DESC')->paginate(15);

@foreach ($lists as list)
  <div> {{$list->name}} </div>
@endforeach 

我確實寫了這個查詢,它顯示:

蘋果蘋果蘋果蘋果蘋果蘋果蘋果香蕉香蕉香蕉葡萄葡萄橙....

我只想顯示我使用的總出現次數大於 3(如果count>3 )的水果的名稱:

DB::select('SELECT query, count(*) as count FROM searches GROUP BY query HAVING count > 3');

但在視圖文件中我不能通過$lists->count()

錯誤:調用數組上的成員函數 count()

我希望我的輸出為: Apple Banana ... and $lists->count() as 2

由於OrangeGrapes計數 < 3,因此它們不會包含在輸出中。

我不確定你到底想要什么,但我猜你想使用 GROUP BY 和 HAVING

SELECT name, count(*)
FROM fruits
WHERE ...
GROUP BY name
HAVING count(*) > 3

此查詢將計算同名記錄的數量,但僅當計數大於 3-

您可以使用selectRawhavingRaw獲取記錄

DB::table('searches')->selectRaw('query,count(*) as count')->groupBy('query')->havingRaw('count(*) > 3')->orderBy('query', 'DESC')->paginate(15);

當值計數大於 3 時,此查詢將輸出 15 條記錄(如 paginate(15) 中所定義)

使用 ->simplePaginate()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM