有可能吗?我有一个两行一列的表。两行都有相同的值。没有主键。我们可以删除 1 行吗?
问问题
49 次
3 回答
1
这是使用ROW_NUMBER()
和 的一种方法common table expression
:
with cte as (
select *,
row_number() over (partition by id order by id) rn
from yourtable)
delete from cte
where rn = 1;
于 2013-10-06T23:30:48.157 回答
0
您可以花哨并使用 cte 删除一个,但如果它们是相同的值(并且该表与您描述的一样简单),您也可以删除两者并添加一个回来。简单得多。
代理键有人吗?
于 2013-10-07T06:44:41.623 回答
0
您可以使用 RANK() 函数执行此操作。
或者您可以使用 TOP 关键字。
于 2013-10-06T23:18:16.543 回答