小夏随笔 | Xiaoxia's essays

  • mysql 查重语句
  • mysql 去重指定表中某列重复项语句
  • 首页
  • 趣享
  • 随笔
  • 代码
  • 教程
  • 工具
  • 资源
  • 友情链接
  • 文章归档
人生倒计时

MySql 查重去重语句

  • 小夏
  • 2024-03-11
  • 0

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 最小的记录,并删除了其它记录,达到了去重的目的。

© 2025 小夏随笔 | Xiaoxia's essays
版权所有 @ 小夏随笔 | Xiaoxia's essays
  • {{ item.name }}
  • {{ item.name }}