如何在 DELETE 语句中使用行的物理位置 (ROWID)

2023-11-26

我有一个表,其中有很多重复的行并且没有主键。
我只想删除重复的记录,但是当我尝试这样做时,它会删除所有对等记录。

我怎样才能找到ROWID来自 Postgres 中的表?


在 PostgreSQL 上,行的物理位置称为 CTID。

因此,如果您想查看它,请使用如下查询:

SELECT CTID FROM table_name

要在 DELETE 语句上使用它来删除重复的记录,请像这样使用它:

DELETE FROM table_name WHERE CTID NOT IN (
  SELECT RECID FROM 
    (SELECT MIN(CTID) AS RECID, other_columns 
      FROM table_name GROUP BY other_columns) 
  a);

请记住,table_name 是所需的表,other_columns 是您要用于过滤该表的列。

Ie:

DELETE FROM user_department WHERE CTID NOT IN (
  SELECT RECID FROM 
    (SELECT MIN(CTID) AS RECID, ud.user_id, ud.department_id
      FROM user_department ud GROUP BY ud.user_id, ud.department_id) 
  a);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 DELETE 语句中使用行的物理位置 (ROWID) 的相关文章

  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • 删除重复的行并需要在mysql中保留所有行中的一个[重复]

    这个问题在这里已经有答案了 我想删除基于两列的重复行 但需要保留所有行 1 行 重复行可以多于两行 例如 ID NAME PHONE 1 NIL 1234 2 NIL 1234 3 NIL 1234 4 MES 5989 我想从上面 3 行
  • nvarchar 值“3001822585”的转换溢出了 int 列

    我使用以下方法将 Excel 文件导入到 SQL Server Excel 文件将所有值作为字符串 我可以导入文件 除了Barcode SalePrice and Price2 我收到错误 nvarchar 值 3001822585 条形码
  • Magento 设置脚本中的 ALTER TABLE 不使用 SQL

    乔纳森 戴 https stackoverflow com users 336905 jonathan day says 更新不应采用以下形式 SQL命令 我没遇到过 任何 DDL 或 DML 语句不能 通过 Magento 的配置执行 结
  • Riak 在 MapReduce 查询中失败。使用哪种配置?

    我正在与 riak riak js 结合开发一个 nodejs 应用程序 并遇到以下问题 运行此请求 db mapreduce add logs run 正确返回存储在存储桶日志中的所有 155 000 个项目及其 ID logs 1GXt
  • 将数据从电子表格迁移到 RDBMS 的策略是什么?

    这与我的另一个问题相关何时从电子表格迁移到 RDBMS https stackoverflow com questions 2395607 when to switch from spreadsheet to rdbms 决定从 Excel
  • 创建日期范围表

    我正在编写一份需要显示每天值的报告 我有查询的开始日期和结束日期 但我希望避免丢失日期 以防表不包含特定日期的值 我正在考虑创建一个基本日期范围表 其中包含开始和结束之间的所有日期 然后将其与数据表左连接以显示每一天的值 我找到了一些适用于
  • MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

    我有一位客户询问他们的搜索是否可以搜索公司名称 这些名称可以根据用户输入以多种格式进行搜索 例如数据库中存储的公司是 A J R Kelly Ltd 如果用户搜索 一个 J R Kelly 被发现 使用
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • 删除表的重复项

    In my activity logs 它包含列 material name user id mod result 这标志着测试是否通过 失败 cert links 不知何故 用户生成了两倍的条目material name与cert lin
  • 如何在 Spring Data 中选择不同的结果

    我在使用简单的 Spring Data 查询或 Query 或 QueryDSL 在 Spring Data 中构建查询时遇到问题 如何选择三列 研究 国家 登录 不同的行 并且查询结果将是用户对象类型的列表 Table User Id S
  • Magento --“SQLSTATE[23000]:违反完整性约束..”客户更新

    迁移服务器后 每次尝试更新客户信息时都会出现错误 我正在使用一个客户激活插件 http www magentocommerce com magento connect vinai extension 489 customer activat
  • 使用 .NET 中的类型化数据集将 SQL 参数传递给 IN() 子句

    首先道歉 因为该网站上有类似的问题 但没有一个直接回答这个问题 我在 VS 2010 中使用类型化数据集 我在数据集中创建一个 TableAdapter 查询如下 SELECT from Table WHERE ID IN IDs 现在如果
  • 如何引用下一行的数据?

    我正在 PostgreSQL 9 2 中编写一个函数 对于股票价格和日期的表 我想计算每个条目较前一天的百分比变化 对于最早一天的数据 不会有前一天 因此该条目可以简单地为 Nil 我知道WITH声明可能不应该高于IF陈述 到目前为止 这就
  • Android中不同线程的数据库访问

    我有一个在 AsyncTasks 中从互联网下载数据的服务 它解析数据并将其存储在数据库中 该服务持续运行 当服务写入数据库时 活动会尝试从数据库中读取更改 我有一个数据库助手 有多种写入和读取方法 这会导致问题吗 可能尝试从两个不同的线程
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • Postgres JSON 数据类型 Rails 查询

    我正在使用 Postgres 的 json 数据类型 但想要使用嵌套在 json 中的数据进行查询 排序 我想在 json 数据类型上使用 where 进行订购或查询 例如 我想查询关注者数量 gt 500 的用户 或者我想按关注者或关注数
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 计算 mysql 数据库行数的最佳方法

    在遇到 mysql 查询加载时间慢的问题后 我现在正在寻找计算行数的最佳方法 我曾经愚蠢地使用过mysql num rows 函数来做到这一点 现在意识到这是最糟糕的方法 我实际上正在制作一个分页来用 PHP 制作页面 我找到了几种计算行数
  • theta 连接、等值连接和自然连接之间的区别

    当涉及到 theta 连接 等值连接和自然连接时 我无法理解关系代数 有人可以帮助我更好地理解它吗 如果我在 theta 连接上使用 符号 它与使用自然连接完全相同吗 A 西塔加入允许任意比较关系 例如 An equijoin是使用相等运算

随机推荐

  • 在 tvOS 模拟器上卸载应用程序

    如何从 tvOS 模拟器卸载应用程序 我已经尝试长按该图标 但没有出现 关闭按钮 我知道 这是一个 Beta 版本 也许将来他们会实现类似 iOS 的功能 谢谢 Method 1 从主屏幕 Settings gt General gt Ma
  • 有条件地向 ui-select 添加“multiple”属性

    我正在尝试添加multiple归因于ui select指令基于某个属性的值 使用ng attr 指示 不幸的是 这对我不起作用 我设置了一个 plunker 示例来展示正在发生的事情 笨蛋的例子 Edit 读完上述内容后我终于明白了GitH
  • 我们可以在 Firebase Cloud Messaging 中创建多少个主题?

    我正在构建一个使用 Firebase Cloud Messaging 的应用程序 但我有一些疑问 我想知道我们可以在一个应用程序实例中制作多少个主题 In 官方文档它写道 当单个应用实例订阅过多主题时 它检索错误TOO MANY 主题 我想
  • 如何在我的 PHP/SQL/HTML/CSS 代码上实现 MVC 风格? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我一直在开发一个程序来可视化一些数据 我的程序从 MySQL 数据库获取特定输入并绘制一些图表 libchart 库 创建一些表格等 我的问题是 现在那里是一个代码地狱 我有大约
  • 在加特林场景之间共享数据

    我有一个场景 在包含用户名和密码的 CSV 文件的帮助下 获取会话 ID 并使用 saveAs 保存它们 我希望能够在以下场景中使用这些会话 ID 该场景执行一些需要会话 ID 的操作 此外 我还想将会话 ID 与其用户名相关联 所以本质上
  • WAMP 和 pcntl_fork

    有没有办法让 pcntl fork 在 WAMP 中工作 我需要开发一个分叉解决方案并在本地进行测试 不 这是不可能的 这PCNTL扩展需要 nix 平台 现在 话虽如此 你想做什么 你能在不分叉的情况下解决它吗 Edit 启动后台进程的一
  • angularjs $http.get 获取json在服务层不起作用

    我正在开发一个 AngularJS 应用程序 作为我的 AngularJS 学习的一部分 我有控制器 从那里我调用服务层 leagueManager service teamsService function http var teams
  • Python sys.stdout.flush() 不起作用

    下面的代码应该打印从 1 到 10 中间间隔 1 秒 但是它在实际打印任何内容之前等待 10 秒 然后一次性打印所有内容 如何取消缓冲输出 import sys import time for count in range 10 sys s
  • IE8 不会下载启用了 UAC 的自定义 mime/类型的文件

    我在本地计算机 Windows 7 x64 IE8 net 3 5 C 上运行一个 net 服务 该服务将文件返回到浏览器以响应用户操作 使用 firefox 或 chrome 可以正确下载文件 并且我们的应用程序通过自定义 mime 类型
  • Python上下文管理的成员变量?

    上下文管理器定义设置 清理功能 enter and exit 惊人的 我想保留一个作为成员变量 当我的类对象超出范围时 我希望执行此清理操作 据我所知 这基本上是 C 构造函数 析构函数自动发生的行为 class Animal object
  • Laravel 全局中间件无法获取会话

    protected middleware App Http Middleware Syspoint class use Session class Syspoint echo Session get syspoint 我有一个中间件需要在每
  • 如何在 PHP 中生成随机 64 位值作为十进制字符串

    Oauth 需要一个随机 64 位无符号数字 编码为十进制格式的 ASCII 字符串 你们能帮我用 php 实现这个吗 谢谢 这是一个非常有趣的问题 如何在 PHP 中创建任意长度随机数的十进制表示 不使用可选扩展 这是解决方案 步骤一 任
  • 使用 PHP 创建电子邮件帐户

    我正在尝试使用 PHP 创建电子邮件 这是我的代码 到目前为止它是非常基本的 直到我能得到一个工作脚本 这是我得到的最接近的 但它说它已经添加了电子邮件 尽管在 cpanel 中该电子邮件不存在 所以它显然不存在 请注意 出于安全原因 此代
  • 何时使用以及如何编写循环半代码[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我们什么时候使用循环半 另外 是否应该有人简要说明如何编写其代码 您可以使用循环半来避免
  • 每次我想使用数据库时是否都需要打开 MongoDB 连接?

    在我正在使用的示例中是以下代码 lets require import the mongodb native drivers var mongodb require mongodb We need to work with MongoCli
  • Laravel 中的“批量分配”是什么意思?

    当我浏览 Laravel Document 关于 Eloquent ORM 主题部分时 我得到了一个新术语 批量分配 文档显示如何进行批量分配以及 fillable or guarded属性设置 但经历了这些之后 我对 批量分配 以及它是如
  • 正则表达式 - 匹配句子中每个单词中除第一个字母以外的所有字母

    我几乎在这里得到了答案 但我遗漏了一些东西 我希望这里有人可以帮助我 我需要一个正则表达式来匹配句子中每个单词中除第一个字母之外的所有字母 然后我需要用正确数量的星号替换匹配的字母 例如 如果我有以下句子 There is an enorm
  • 通过 eclipseLink 生成 sql 时出现问题 - 缺少分隔符

    我正在将 eclipseLink 与 jpa 一起使用 在我的 persistence xml 中 我定义生成一个 create sql 文件 将生成该文件 但每个 sql 语句缺少 分隔符 是否可以在 persistence xml 中或
  • 从 Google Cloud Composer 运行 docker 运算符

    至于文档 Google Cloud Composer 气流工作节点由专用的 kubernetes 集群提供服务 我有一个包含 ETL 步骤的 Docker 我想使用气流运行它 最好在托管 Workers 的同一个 Kubernetes 上或
  • 如何在 DELETE 语句中使用行的物理位置 (ROWID)

    我有一个表 其中有很多重复的行并且没有主键 我只想删除重复的记录 但是当我尝试这样做时 它会删除所有对等记录 我怎样才能找到ROWID来自 Postgres 中的表 在 PostgreSQL 上 行的物理位置称为 CTID 因此 如果您想查