[英]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
由於Orange和Grapes計數 < 3,因此它們不會包含在輸出中。
我不確定你到底想要什么,但我猜你想使用 GROUP BY 和 HAVING
SELECT name, count(*)
FROM fruits
WHERE ...
GROUP BY name
HAVING count(*) > 3
此查詢將計算同名記錄的數量,但僅當計數大於 3-
您可以使用selectRaw和havingRaw獲取記錄
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.