我有这个:
1899, 184, 531 *
1900, 184, 531 *
1901, 113, 531
1902, 184, 436
我想得到
1899, 184, 531
1901, 113, 531
1902, 184, 436
没有临时表等。如何?
最佳答案
SELECT MIN(Col1), Col2, Col3
FROM yourTable
GROUP BY Col2, Col3
这假设您选择了 1899
记录而不是 1900
记录,因为前者是两者中较小的一个。
如果您想从表中删除重复记录,因为您已将它们定义为重复项,那么您可以使用以下查询:
DELETE t1.*
FROM yourTable t1
LEFT JOIN
(
SELECT MIN(Col1) AS Col1, Col2, Col3
FROM yourTable
GROUP BY Col2, Col3
) t2
ON t1.Col1 = t2.Col1 AND t1.Col2 = t2.Col2 AND t1.Col3 = t2.Col3
WHERE t2.Col1 IS NULL
关于php - MySQL,删除重复行(必须由 2 列唯一),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38369117/