找出相同的数据的SQL

SELECT id,onlyid FROM
(
SELECT * FROM TEST_TABLE a WHERE a.onlyid in
(select onlyid from TEST_TABLE group by onlyid having count(*) > 1 )
) as tmp
order by onlyid;

很容易的就找出了很多条相同的onlyid的两条数据,以下只列出两条假数据:
+——————————————+——————+
| id | onlyid |
+——————————————+——————+
| M51D204B0F35322AF7E7050612AB26E7ABDDA70C | 1 |
| F75BF608F269AC73FF561EEFFDACFE99457A6CA8 | 1 |

下面,针对实际用法实现举例:
以下是利用php代码 获取重复添加指定学员到指定班级的数据。
学员对应-student_id
班级对应-team_id
sys_team_student 指学员分班表

$arr1=array();
$arr1['a.student_id']=$studentId;
$arr1['a.del_flag']=1;
$hsql1='a.team_id in(select team_id from sys_team_student where student_id='.$studentId.' and  del_flag=1 group by team_id having count(*) > 1)';
$teamlist=db('sys_team_student',[],false)->alias('a')->where($arr1)->whereRaw($hsql1)->order('a.team_id asc')->select();
作者:邱存平  创建时间:2022-07-02 21:02
最后编辑:邱存平  更新时间:2023-08-25 15:53