Php 在laravel 5.2中选择列值相等的行

Php 在laravel 5.2中选择列值相等的行,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我是Laravel 5.2的新用户 例如,我有如下数据行: mytable ------------------------------- url | ip ------------------------------- google.com | 11.44.180.149 <----- msn.com | 11.44.180.149 google.com | 11.44.180.149 <--

我是Laravel 5.2的新用户

例如,我有如下数据行:

mytable
-------------------------------
url          |  ip         
-------------------------------
google.com   |  11.44.180.149       <----- 
msn.com      |  11.44.180.149 
google.com   |  11.44.180.149       <-----  
yahoo.com    |  11.44.180.149         
google.com   |  11.44.180.149       <----- 
伙计们,我很抱歉,因为我的英语说得不好

谢谢你

你可以用雄辩的方法:

MyTable::groupBy('ip')->get();
或查询生成器:

DB::table('mytable')->groupBy('ip')->get();

您需要首先选择要检查的列,然后执行不同的操作

DB::table('mytable')->select('url','ip')->Distinct()->get();
这应该只包括每个匹配集中的一个。

如果您尝试此操作

$myTable = MyTable::groupBy('url', 'ip')
                ->get(['url', 'ip']);

请检查此代码。

试试这个

  $query = DB::table('MyTable');
     $query->whereIn('ip', function($query) {
            $query->select('ip')
                ->from('MyTable')
                ->groupBy('ip')
                 ->having(DB::raw('count(*)'),'>',1);
        });
         $user=$query->get();
         dd($user);

为什么不在两列之间使用一个唯一的键,这样只有一个条目可以存在?@Styphon因为我在列中创建了_我需要3天前或1周前显示报告和表格图表的所有数据我想你要的是
DISTINCT
关键字,试试
从mytable中选择DISTINCT*
试试Goruby(‘ip’)@Styphon请回答Complete我是
Laravel 5.2
的新用户,我无法尝试。请告诉我我无法理解你的意思。非常感谢你我测试了你的答案,但不是选择的行
url
ip
是相同的,它给了我所有行!!!我只想给我任何相等值的行我测试了你的答案,但我不是选择url和ip相同的行,而是给我所有的行!!!我只想给我任何值相等的行
$myTable = DB::table('mytable')->groupBy('url', 'ip')
                ->get(['url', 'ip']);       
  $query = DB::table('MyTable');
     $query->whereIn('ip', function($query) {
            $query->select('ip')
                ->from('MyTable')
                ->groupBy('ip')
                 ->having(DB::raw('count(*)'),'>',1);
        });
         $user=$query->get();
         dd($user);