Php 删除不同的数据mysql和laravel

Php 删除不同的数据mysql和laravel,php,mysql,laravel,mysqli,Php,Mysql,Laravel,Mysqli,嗨,我有拉威尔项目 我有这个模型 User_attendance User 我在用户内部有这种关系 现在有重复数据在用户_出席像这样 9238<><> 2018-11-27 17:45:48 9238<><> 2018-11-27 17:45:48 9238<><> 2018-11-27 17:45:48 9238<><> 2018-11-27 17:45:48 9238<><&

嗨,我有拉威尔项目 我有这个模型

User_attendance

User
我在用户内部有这种关系

现在有重复数据在用户_出席像这样

9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-28 17:35:00
9238<><> 2018-11-29 17:44:34
9238<><> 2018-12-08 17:18:12
9238<><> 2018-12-08 17:18:12
现在9238 2018-11-27 17:45:48 有12个重新编码 如何在laravel或mysql中运行查询以删除记录的11个,只留下1个 是我干的

$users = User::limit(30)->get();
foreach($users as $u)
{
    foreach($u->getAttendance as $attendance)
    {
        echo $attendance->user_attendance_user_id . "<><> ".$attendance->created_at ."<br />";
    }
}
我想删除重复数据,只保留一个记录
谢谢

使用双组,例如:

DB::table('users')
            ->select('*')
            ->groupBy('user_attendance_user_id','created_at')
            ->get();

通过以下方式使用双重分组:

DB::table('users')
            ->select('*')
            ->groupBy('user_attendance_user_id','created_at')
            ->get();

如果要删除数据库中的记录,可以执行如下MySQL查询

DELETE t1 FROM `User_attendance` as f
        INNER JOIN
    `User_attendance` as s 
WHERE
    f.id < s.id AND f.time = s.time AND f.user_attendance_user_id = s.user_attendance_user_id;

这将从表中删除重复的条目。如果新行是唯一的,您可能希望确保只插入新行,因此请检查代码,并使用户id和时间的列组合唯一,即数据库中的唯一索引如果要删除数据库中的记录,可以执行如下MySQL查询

DELETE t1 FROM `User_attendance` as f
        INNER JOIN
    `User_attendance` as s 
WHERE
    f.id < s.id AND f.time = s.time AND f.user_attendance_user_id = s.user_attendance_user_id;

这将从表中删除重复的条目。您可能希望确保仅在新行唯一的情况下插入新行,因此请检查代码并使用户id和时间的列组合唯一,即数据库中的唯一索引使用DISTINCT或GROUP BY关键字

例如:

选择DISTINCTcolumn、column1、column2,。。。从表_名称


按用户考勤用户id从用户考勤组中选择*创建于

使用DISTINCT或GROUP BY关键字

例如:

选择DISTINCTcolumn、column1、column2,。。。从表_名称

按用户考勤用户id从用户考勤组中选择*创建于

试试这个

试试这个


没问题。祝你有一个愉快的一天。我收到了这个错误的SQL查询:从User_Attention f Internal JOIN User_Attention s中删除,其中f.id