mysql去重

直接代码

Copy
SELECT
id,
koto
FROM
hitokoto
WHERE
koto IN ( SELECT t1.koto FROM hitokoto t1 GROUP BY t1.koto HAVING COUNT( 1 ) > 1 )
AND id NOT IN ( SELECT MIN( id ) FROM hitokoto t1 GROUP BY t1.koto HAVING COUNT( 1 ) > 1 )

去除 koto 相同、留下 id 最小的。

查出相同的所有行，查出最小的那些，然后not in

好像有点慢。