Php 在laravel 5.2中选择列值相等的行
我是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 <--
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);