题目链接:点击打开链接
题目大意:略。
解题思路:
- 解决方案(1):自定义变量,先排序排名,然后把排名不等于 1 的直接 DELETE 掉即可
- 解决方案(2):一看就懂了,有啥好讲的,真要说就说这个 DELETE 语法,看这个 p1 和 p2 的关系,主要删除 p1 的东西,而 p2 是做辅助用的
AC 代码
--解决方案(1) DELETEp1FROMPersonp1, (SELECTId, IF(=Email, :=+1, :=1) CNT, :=EmailFROMPerson, (SELECT :=null, :=0) initORDERBYEmail, Id) rsWHEREp1.Id=rs.IdANDrs.CNT<>1--解决方案(2) DELETEp1FROMPersonp1, Personp2WHEREp1.Email=p2.EmailANDp1.Id>p2.Id