当前位置: 首页 > 面试题库 >

我可以提取在sql中重复的提取记录吗?

宇文金鑫
2023-03-14
问题内容

在我的表格中,我有以下几列:

id|name|gender

我想提取所有重复的名称,但是我不想扫描所有数据库以逐条记录每个记录…我只想知道谁拥有相同的名字…示例:

0|mary|F
1|tom|M
2|peter|M
3|mary|F
4|chris|M
5|chris|F
6|alex|M

我只想得到:玛丽和克里斯…但是我不想一次读取所有记录…有什么想法吗?谢谢你。


问题答案:
SELECT
   name
FROM
   Mytable
GROUP BY
   name
HAVING
   COUNT(*) > 1

要也区分性别,请将GROUP BY更改为 name, gender

删除重复的行

DELETE MyTable
WHERE ID NOT IN
   (
    SELECT
       MIN(Id)
    FROM
       Mytable
    GROUP BY
       name
   )


 类似资料:
  • 我目前正在阅读《高性能MySQL,第二版》,试图理解MySQL中的事务隔离。 下面是他们对这两个事务隔离级别的解释。 阅读提交 大多数数据库系统(但不是MySQL!)的默认隔离级别是READ COMMITTED。它满足了之前使用的隔离的简单定义:事务将只看到在开始时已经提交的事务所做的更改,并且在它提交之前,它的更改不会对其他人可见。这个级别仍然允许所谓的不可重复读取。这意味着您可以运行相同的语句

  • 我在这里浏览了关于在Jooq中将记录提取到可变pojo中的文档。 它说列被映射到最佳匹配的构造函数、属性或setter。 谁能分享更多的信息最佳匹配属性或setter意味着什么?

  • 本文向大家介绍SQL Server 提取数字、提取英文、提取中文的sql语句,包括了SQL Server 提取数字、提取英文、提取中文的sql语句的使用技巧和注意事项,需要的朋友参考一下

  • “提取 SQL”让你从备份文件中提取 SQL 到一个 SQL 文件。 提取数据库或模式中的一个备份文件 打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“提取 SQL”。 选择提取 SQL 选项并点击“提取”。 为 SQL 文件选择一个路径。 提取任意位置的备份文件 打开你的任何一个数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“提取 SQL 从”。

  • “提取 SQL”让你从备份文件中提取 SQL 到一个 SQL 文件。 提取数据库或模式中的一个备份文件 打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击 。 选择提取 SQL 选项并点击“开始”。 为 SQL 文件选择一个路径。 提取任意位置的备份文件 打开你的任何一个数据库或模式。 点击“备份”。 按住 Control 键并点按对象选项卡的任意位置,然后选择“提取

  • “提取 SQL”让你从备份文件中提取 SQL 到一个 SQL 文件。 提取数据库或模式中的一个备份文件 打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“提取 SQL”。 选择提取 SQL 选项并点击“开始”。 为 SQL 文件选择一个路径。 提取任意位置的备份文件 打开你的任何一个数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“提取 SQL 从”。