场景:表中包含有groupid,workerid,status字段,查询这三个字段是否存在重复的数据。 查找某个人在某个班组内存在多个status为0的数据SELECTgroupid,workeridFROMworkerclassgroupmemberWHEREstatus0GROUPBYgroupid,workeridHAVINGcount(1)1; 查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来SELECTMIN(id)FROMworkerclassgroupmemberWHEREstatus0GROUPBYgroupid,workeridHAVINGcount(1)1; 查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来,并设置status为1UPDATEworkerclassgroupmemberSETstatus1WHEREidIN(SELECTminidFROM(SELECTMIN(id)ASminidFROMworkerclassgroupmemberWHEREstatus0GROUPBYgroupid,workeridHAVINGcount(1)1)ASa) 将查询查询结果作为wherein的条件,需要select的结果再通过一个中间表select多一次,否则会报YoucantspecifytargettableforupdateinFROMclause。