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

具有不同主键的SQL复制

白翰海
2023-03-14
问题内容

我有一个这样的表格:

id | firstname | lastname
---+-----------+----------
1  | alex      | marti
2  | mark      | finger
3  | alex      | marti
4  | ted       | port

需要以以下形式返回firstnamelastname重复项:

1  | alex      | marti
3  | alex      | marti

我尝试这样做,select firstname, lastname from t group by firstname, lastname having count(*) > 1但这会返回类似

firstname | lastname
----------+----------
mark      | finger
alex      | marti
ted       | port

而且我需要id重复的内容,但是当然select id, firstname, lastname from t group by id, firstname, lastname不起作用。

有任何想法吗?谢谢。


问题答案:

您需要汇总ID。如果仅需要其中之一的ID(例如,删除),则可以执行以下操作:

select max(id) id, firstname, lastname from t group by firstname, lastname having count(*) > 1

如果您想同时使用两个ID,并且知道不会超过2个,则可以执行以下操作:

select min(id) minid, max(id) maxid, firstname, lastname from t group by firstname, lastname having count(*) > 1

如果您想要所有重复项及其ID,则必须使用派生表,如Nitin Midha的回答。



 类似资料:
  • 问题内容: 我需要一个表来存储一些评分,在此表中,我有一个 综合索引(user_id,post_id) 和其他列来标识不同的评分系统。 在此表中,我没有 主键, 因为 主键 必须是唯一的,而INDEX不必是唯一的,就我而言,唯一性是一个问题。 例如我可以有 缺少PRIMARY KEY可能会导致性能问题?我的表结构好还是需要更改? 谢谢 问题答案: 几点: 听起来您只是在使用表的当前唯一特性,并将其

  • 我有一个实体,其复合主键定义为 和实体 我们有一个前端应用程序发送以下请求 它在调用pageable with sort参数之后: 失败,使用 PropertyReferenceException:未找到类型Entity的属性theNum! 通过发送正确的请求(如: 最后,我的问题是--有没有一种方法可以告诉spring将收到的“thenum”排序参数正确地作为复合主键的一部分来处理? 或者我应该

  • 我在oracle数据库中有一个包含客户数据的表。以下是一个简化的定义: 此表的主键是。 该表有许多行,其中为空。在数据库级别,没有问题,但是当我试图通过JPA实体访问这些行时,会导致一些问题: 1:使用

  • 我在Postgres中有两个表<code>foo 当我尝试使用此命令将数据从 复制到 时: 我得到一个错误: 错误:重复的键值违反了唯一约束“bar_pkey” 详细信息:键(id)=(1)已存在。 当表

  • 我有一个实体,它的复合主键由两个字段组成,其中一个也是复合外键的一部分。 背景:我有实体<代码>人员 、<代码>区域 和<代码>会话 。 与具有多对多关系,使用称为“和实体。 所以,我有,主键为(,)。本身是的外键。 也有一个字段。我希望(,)是的复合外键。 我的PersonSession代码: } 这看起来不错,它在数据库中创建了所有正确的关系。当我尝试插入个性化会话对象时,问题就出现了——ar

  • 我们想用雄辩的ORM和Laravel 5实现复合主键http://www.mbarendezvous.com/ 据我所知,它目前还没有得到雄辩者的支持。请建议最好的替代方案。