【发布时间】:2022-11-27 23:57:42
【问题描述】:
这是我的桌子(之前):
结果应该是这样的(之后):
我已经尝试过我在这里找到的这个查询:
with t as (
select t.*,
row_number() over (partition by id, value order by id) as seqnum
from tmp_table t
)
delete from t
where exists (select 1
from t t2
where t2.id = t.id and t2.value = - t.value and t2.seqnum = t.seqnum
);
但它没有给出预期的结果。 Id 10 也必须删除,因为三列的总和为零。
不是预期的结果:
谢谢。
【问题讨论】:
-
请以文本而非图像形式提供表格结构和示例数据。还请指定您使用的是哪个 DBMS
-
根据图像,ID = 10 的值之和不应作为结果给出 0,但不会返回任何行,不是吗?
标签: sql-delete