1. 程式人生 > 實用技巧 >laravel中distinct()的使用方法與去重(轉)

laravel中distinct()的使用方法與去重(轉)

laravel中distinct()的使用方法與去重

原文:https://phpartisan.cn/news/20.html

laravel 中 distinct( )的使用方法與去重, MySQL 通常使用 GROUPBY (本質上是排序動作)完成 DISTINCT 操作,如果 DISTINCT 操作和 ORDERBY 操作組合使用,通常會用到臨時表.這樣會影響效能. 在一些情況下, MySQL 可以使用索引優化 DISTINCT 操作,但需要活學活用。

一、laravel5怎麼使用distinct

laravel5 使用 distinct 很簡單,官方已經提供了使用 distinct 方法允許你強制讓查詢返回不重複的結果:

$users = DB::table('users')->distinct()->get();

可是官方提供的程式碼是不能查詢返回不重複的結果的,我們需要指定一下欄位:

$users=DB::table('users')->select('name')->distinct()->get();

二、如何select多個欄位

如果想要 distinct 多個欄位,可以在 select 中新增欄位名稱;但是要注意,當 select 多個欄位,代表需要 status 與 name 都相同的才會被排除

$users=DB::table('users')->select('status','name')->distinct()->get();

這就是laravel中 distinct 使用方法的彙總了,如果你想要從資料庫中去重獲取資料,可以使用 GROUPBY 方法。