mysql 查重语句
若表名为 "card",列名为 "key"
可以使用 GROUP BY 子句和 HAVING 子句查询 "card" 表中的 "key" 列的重复项,SQL语句如下:
SELECT `key`, COUNT(*) AS count
FROM card
GROUP BY `key`
HAVING count > 1;
在上述语句中,GROUP BY 子句将 "card" 表中的 "key" 列相同的记录归为一组,COUNT(*) 用于统计每组的记录数,HAVING 子句可以用于过滤这些分组,只保留有重复记录的分组。最终,该 SQL 语句会查询出 "card" 表中 "key" 列中的重复项,包括重复次数。
mysql 去重指定表中某列重复项语句
若表名为 "card",列名为 "key",可以使用以下 SQL 语句去除 "card" 表中 "key" 列中的重复项:
DELETE FROM card
WHERE id NOT IN (
SELECT id
FROM (
SELECT MIN(id) as id
FROM card
GROUP BY `key`
) AS temp_table
);
在上面的 SQL 语句中,首先创建了一个名为 temp_table 的临时表,该临时表中只包含 "card" 表中 "name" 列的不同值中的最小 ID,然后在外部 SELECT 语句中查询 "card" 表中的所有记录,只保留 ID 在 temp_table 中存在的记录,即保留了 "key" 列的重复项中 ID 最小的记录,并删除了其它记录,达到了去重的目的。